// DO NOT ADD PHP TO JS FILES! var __watchingChanges = {}; function watchChanges(selector, handler) { var changeTimeout = null; var lastValue = jQuery(selector).val(); var eventHandler = function () { clearTimeout(changeTimeout); changeTimeout = setTimeout(function () { var newValue = jQuery(selector).val(); if (lastValue != newValue) { handler(newValue); lastValue = newValue; } },300); } __watchingChanges[selector] = __watchingChanges[selector] || {}; __watchingChanges[selector][handler] = eventHandler; jQuery(document).on('keyup', selector, eventHandler); jQuery(document).on('change', selector, eventHandler); } function unWatchChanges(selector, handler) { if (typeof(__watchingChanges[selector]) == 'undefined') return; if (typeof(__watchingChanges[selector][handler]) == 'undefined') return; jQuery(document).off('keyup', selector, __watchingChanges[selector][handler]); jQuery(document).off('change', selector, __watchingChanges[selector][handler]); delete __watchingChanges[selector][handler]; }