jQuery keyup函数没有执行

时间:2013-01-19 16:49:37

标签: jquery html input

我有这段代码:

<script>
     $('#searchInput').keyup(function() {
               alert('Handler for .keyup() called.');
     });
</script>

和这个输入:

<input id='searchInput' type='text' placeholder='Search other alumni users' />

但是当我按下一个键时,警报没有出现...... 我已经包含了jQuery脚本。

5 个答案:

答案 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功能的顺序,即将它们放在顶部...在文档准备就绪中似乎可以解决问题。我的猜测是,其他一个功能是什么原因打破了他们的键盘功能?