使用类时,Jquery键盘事件不起作用

时间:2013-06-17 07:26:22

标签: jquery events handler

我有一个带有一个replyComment类的输入字段,我有一个事件处理程序,它将确定是否按下了回车键。

<input class="replyComment" placeholder="Enter Reply" type="text">
$('#replyComment').keyup(function (e) {
   alert(e.keyCode);
   if (e.keyCode == 13) {
      alert('Enter key was pressed.');
   }
});

问题是该事件不会触发。 的问候,

3 个答案:

答案 0 :(得分:2)

#指定 id选择器,使用前导句点(.)指定类选择器

$('.replyComment').keyup( ... )

答案 1 :(得分:1)

正如大家所提到的那样#34;#&#34;是指由id表示的元素。 由于您使用的代码 - &gt;

<input class="replyComment" placeholder="Enter Reply" type="text">

指的是您需要通过的类访问它。选择。理想情况下,您的代码应该像

    $(".replyComment").keyup(function(){});

如果在页面加载时DOM中不存在具有此类的元素,则可能会出现这种情况。如果在您的页面被某些JS事件或任何内容加载后在您的页面中引入了这个,那么您将不得不使用&#34; on&#34; 选择器将其绑定到DOM。

所以你的代码应该像

jQuery(document ).on( "keyup", ".replyComment", function(){ });

希望这会有任何帮助

快乐学习:)

答案 2 :(得分:0)

请在代码中使用(“。”)代替(“#”),如下所示:

$('.replyComment').keyup(function (e) {
   alert(e.keyCode);
   if (e.keyCode == 13) {
      alert('Enter key was pressed.');
   }
});

每当你想要触发一个元素而不是“。”代替 ”#”。    (“#”)始终使用id元素。

希望它能解决你的问题