Detect any modification to the value of an input text field, regardless of the method (e.g., keypresses, copy/paste, JavaScript edits, auto-completion). Ensure the change is registered immediately using jQuery.
Implement this robust and browser-compatible solution using jQuery's .bind():
$('.myElements').each(function() { let elem = $(this); // Store initial value elem.data('oldVal', elem.val()); // Monitor value alterations elem.bind("propertychange change click keyup input paste", function(event) { if (elem.data('oldVal') != elem.val()) { elem.data('oldVal', elem.val()); // Custom action upon change ... } }); });
Note: Replace '.myElements' with the selector for your input fields.
For jQuery versions 3.0 or later, use .on() instead of .bind():
$('.myElements').each(function() { let elem = $(this); // Store initial value elem.data('oldVal', elem.val()); // Monitor value alterations elem.on("propertychange change click keyup input paste", function(event) { if (elem.data('oldVal') != elem.val()) { elem.data('oldVal', elem.val()); // Custom action upon change ... } }); });
The above is the detailed content of How to Detect Every Change to a Text Input Field with jQuery?. For more information, please follow other related articles on the PHP Chinese website!