如何在每次使用JQuery在输入字段中更改内容时执行函数?

我有一个文本字段我希望每次用户更改其中的内容(逐字母)时执行JavaScript函数。 我怎么能用jQuery做到这一点?

我尝试将函数实现为使用JQuery的答案,如何在字段仍具有焦点时检测文本输入的值是否已更改? 但对我来说没有任何反应。

这是我的HTML:

       

我的search.js是:

 var target = $('#search'), val = target.val(); function search() { alert('search'); } target.keyup(search); 

我也尝试过(没有任何反应):

 $('input[name=search]').change(function() { alert('changed'); }) 

如果我尝试使用jQuery添加一些HTML,它可以工作:

 $(function(){ $("

hello

").insertAfter("#search"); })

在控件失去焦点之前,更改事件不会触发。 如果您只对文本感兴趣,可以使用.keypress()在内容更改之前执行某些操作,或者.keyup()在之后执行某些操作。

以下是在jsfiddle中使用keypress的示例: http : //jsfiddle.net/R6vmZ/