我有一个文本字段<input type="text" id="search" />
我想在每次用户更改其中的内容(逐个字母)时执行 JavaScript 函数。我怎样才能使用 jQuery 做到这一点?
我尝试实现该功能作为答案使用 JQuery,如何检测文本输入的值是否已更改而字段仍具有焦点? https://stackoverflow.com/questions/1539279/using-jquery-how-do-you-detect-if-the-value-of-a-text-input-has-changed-while-th/1539375#1539375但我什么也没发生。
这是我的 HTML:
<html>
<head>
<script type="text/javascript" src="/jquery-1.6.1.min.js"></script>
<script type="text/javascript" src="/search.js"></script>
</head>
<body>
<form>
<input type="text" name="search" id="search" />
</form>
</body>
</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(){
$("<p>hello</p>").insertAfter("#search");
})
在控件失去焦点之前,更改事件不会触发。如果您只对文本感兴趣,您可以使用。按键() http://api.jquery.com/keypress/在内容更改之前执行某些操作,或者.keyup() http://api.jquery.com/keyup/之后做某事。
这是在 jsfiddle 中使用按键的示例:http://jsfiddle.net/R6vmZ/ http://jsfiddle.net/R6vmZ/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)