问题

<input type="text">的值有很多方法可以改变,包括:

  • 按键器
  • 复制/粘贴
  • 使用JavaScript修改
  • 由浏览器或工具栏自动完成

我希望随时调用我的JavaScript函数(带有当前输入值).我希望它立即被调用,而不仅仅是当输入失去焦点时.

我正在寻找最干净和最健壮的方法来在所有浏览器中执行此操作(最好使用jQuery).

示例用例:在 Twitter Signup 页面上,用户名字段的值显示在下面的url“ http://twitter/ 用户名”中.

  最佳答案

这个jQuery代码可以立即更改任何元素,并且应该在所有浏览器中工作:

  $('.myElements').each(function() {
   var elem = $(this);

   // Save current value of element
   elem.data('oldVal', elem.val());

   // Look for changes in the value
   elem.bind("propertychange change click keyup input paste", function(event){
      // If value has changed...
      if (elem.data('oldVal') != elem.val()) {
       // Updated stored value
       elem.data('oldVal', elem.val());

       // Do action
       ....
     }
   });
 });
 

  相同标签的其他问题

javascriptjqueryhtml