Home >Web Front-end >JS Tutorial >How to Detect Every Change to a Text Input Field with jQuery?

How to Detect Every Change to a Text Input Field with jQuery?

Patricia Arquette
Patricia ArquetteOriginal
2024-11-02 11:15:30745browse

How to Detect Every Change to a Text Input Field with jQuery?

Capturing Every Change to a Text Input with jQuery

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.

Solution

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!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn