我有这段代码:
<script>
$('#searchInput').keyup(function() {
alert('Handler for .keyup() called.');
});
</script>
和这个输入:
<input id='searchInput' type='text' placeholder='Search other alumni users' />
但是当我按下一个键时,警报没有出现...... 我已经包含了jQuery脚本。
答案 0 :(得分:39)
将您的代码更改为
$(function(){ // this will be called when the DOM is ready
$('#searchInput').keyup(function() {
alert('Handler for .keyup() called.');
});
});
确保在构建jQuery集时存在DOM元素。
答案 1 :(得分:8)
$(document).ready(function() {
$('#searchInput').keyup(function() {
alert('Handler for .keyup() called.');
});
});
或者
$(function() {
$('#searchInput').keyup(function() {
alert('Handler for .keyup() called.');
});
});
答案 2 :(得分:2)
keyup
/ keydown
似乎只适用于document.ready
处的元素。
如果您从页面加载后更改或注入的元素触发事件,则不会触发这些事件。
在加载时查找或创建要监视的元素的父级,然后将该事件设置为从该父元素触发可以绕过此。
答案 3 :(得分:0)
这对我有用:
jQuery(".divForinput1 > input").keyup(function() {
var value = $( this ).val();
jQuery( ".divForinput2 > input" ).val( value );
}).keyup();
//the .keyup on the end maybe what many are missing
答案 4 :(得分:0)
在我的情况下,我在$(document).ready(function () {});
通过更改我的Keyup功能的顺序,即将它们放在顶部...在文档准备就绪中似乎可以解决问题。我的猜测是,其他一个功能是什么原因打破了他们的键盘功能?