0

我有一个带有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.');
   }
});

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

4

3 回答 3

4

正如大家所提到的,“#”指的是由 id 表示的元素。由于您使用的代码->

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

是指您需要通过 . 选择器。所以理想情况下你的代码应该像

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

如果在页面加载时具有此类的元素不存在于 DOM 中,则可能存在这种情况也不起作用。如果在您的页面被某些 JS 事件或任何东西加载之后在您的页面中引入了这一点,那么您将必须使用“on”选择器将其与 DOM 绑定。

所以你的代码应该像

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

希望这会有所帮助

快乐学习:)

于 2014-11-13T16:23:07.070 回答
2

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

$('.replyComment').keyup( ... )
于 2013-06-17T07:27:14.577 回答
0

请在您的代码中使用 (".") 而不是 ("#"),如下所示:

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

每当您想触发一个元素时,都比使用“。” 代替 ”#”。("#") 总是使用 id 元素。

希望它能解决你的问题

于 2013-06-17T07:46:47.710 回答