Skip to content
Create a gist now

Instantly share code, notes, and snippets.

A text field monitoring plugin for jQuery
(function($) {
return $.fn.monitor = function(fn) {
var changed, currentVal, cycle, lastVal, timeout,
_this = this;
currentVal = this.val();
lastVal = currentVal;
timeout = null;
changed = function() {
return currentVal !== lastVal;
};
cycle = function() {
currentVal = _this.val();
if (changed()) fn(currentVal);
lastVal = currentVal;
return timeout = setTimeout(cycle, 1000);
};
this.keyup(function() {
clearTimeout(timeout);
return cycle();
});
return cycle();
};
})(jQuery);
(($) ->
$.fn.monitor = (fn) ->
currentVal = @val()
lastVal = currentVal
timeout = null
changed = () =>
currentVal != lastVal
cycle = () =>
currentVal = @val()
fn(currentVal) if (changed())
lastVal = currentVal
timeout = setTimeout cycle, 1000
@keyup () ->
clearTimeout(timeout)
cycle()
cycle()
)(jQuery)
@beku8

can you provide the sample code using this plugin?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.