【问题标题】:Input keydown event is firing button click of another element输入 keydown 事件是触发另一个元素的按钮单击
【发布时间】:2012-05-08 15:33:48
【问题描述】:

我希望我在这里遗漏了一些明显的东西......

这只发生在 IE9 中(如图)

我正在使用 KnockoutJS(2.1 RC) 和 JQuery(1.7.2)

我在页面上有一个输入元素(实际上有很多),每当我按下“enter”键时,它都会触发页面上第一个按钮元素的 click 事件。

http://jsfiddle.net/HZymG/2/

【问题讨论】:

  • 那是因为它可能是一个提交按钮,并且已经被浏览器(IE)赋予了默认焦点。当您按下回车键时,它的行为就像您单击了按钮一样。在Stack Overflow 上查看有关防止从输入键提交无数不同解决方案的帖子。

标签: javascript jquery html knockout.js knockout-2.0


【解决方案1】:

type="button" 添加到您的<button> 元素中。如果在 IE 中省略它,它会将它们视为<button type="submit" /> 元素。

更新了您的 jsFiddle 以表明这是问题所在:http://jsfiddle.net/HZymG/3/

【讨论】:

  • 是的,我在所有浏览器中都遇到了类似的问题,如果按钮被聚焦并且您按下回车键,它将触发两次点击事件(至少在使用敲除连接时。类型 =按钮”添加到标记就像魅力一样。
猜你喜欢
  • 2011-11-23
  • 1970-01-01
  • 2021-12-21
  • 2011-04-03
  • 1970-01-01
  • 2014-04-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多