【问题标题】:EventListener Enter Key [duplicate]EventListener Enter 键[重复]
【发布时间】:2013-01-26 22:06:46
【问题描述】:

Enter 键是否有addEventListener

我有

document.querySelector('#txtSearch').addEventListener('click', search_merchants);

我知道这是为<button> 准备的,但想知道是否有对应的方法可以捕获 Enter 键。

【问题讨论】:

  • 请注意,在按钮上按 Enter 也构成“点击”事件。

标签: javascript


【解决方案1】:

您要提交表单吗?

改为收听submit 事件。

这将处理clickenter

如果你必须使用回车键...

document.querySelector('#txtSearch').addEventListener('keypress', function (e) {
    if (e.key === 'Enter') {
      // code for enter
    }
});

【讨论】:

【解决方案2】:

这是当前接受的答案的一个版本(来自@Trevor),使用key 而不是keyCode:

document.querySelector('#txtSearch').addEventListener('keypress', function (e) {
    if (e.key === 'Enter') {
      // code for enter
    }
});

【讨论】:

  • 不要复制/粘贴相同的答案,在一个地方发布然后投票关闭另一个地方,就像我刚刚做的那样。
  • 我的两个类似的答案(不是精确的复制/粘贴)是我试图传播有关 event.key 的信息。但是您的评论和反对票让我阅读了更多关于标记和相关主题的信息,以减少我对 Stack Overflow 礼仪的无知,所以谢谢。
【解决方案3】:

您可以监听'keydown' 事件,然后检查是否有回车键。

你的处理程序是这样的:

function (e) {
  if (13 == e.keyCode) {
     ... do whatever ...
  }
}

【讨论】:

  • 使用一些常量作为键码不是更好吗?
  • window.addEventListener("keydown", function (e) { if (13 == e.keyCode) { alert('a okooo enter') } });
猜你喜欢
  • 1970-01-01
  • 2012-11-13
  • 2014-09-20
  • 1970-01-01
  • 1970-01-01
  • 2011-07-19
  • 2017-06-20
  • 2012-11-21
  • 2012-05-08
相关资源
最近更新 更多