可以将keyup绑定到整个表单?

时间:2014-03-17 01:57:19

标签: jquery javascript-events onkeyup

是否可以将keyup()绑定到整个<form>?例如,我在表单中有多个<input type="text">字段,我想将keyup事件绑定到所有字段,而不必将keyup事件处理程序附加到每个字段。相反,我想将一个keyup事件处理程序绑定到所有这些事件处理程序,因此如果任何文本字段检测到keyup事件,则事件处理程序将运行。这可能在jQuery中吗?

我试过

$('form').keyup(function() {...});

但是在键入1个字符后,这会使keyup事件处理程序无限期地触发。

2 个答案:

答案 0 :(得分:5)

我不认为这是可能的,但您可以同时将相同的keyup事件绑定到所有输入:

$('#myform input[type=text]').on('keyup', /* yada */);

答案 1 :(得分:2)

您可以尝试这样的事情:Fast Demo

$(function(){
   //create one instance for handler:
   var myHandler = function(e){ /* Your function */ };

   //Bind it:
   $("#form input[type=text]").on('keyup',function(e){ myHandler(e);  });

});