Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入键上的IE触发按钮_Javascript_Html_Internet Explorer_Internet Explorer 10 - Fatal编程技术网

Javascript 输入键上的IE触发按钮

Javascript 输入键上的IE触发按钮,javascript,html,internet-explorer,internet-explorer-10,Javascript,Html,Internet Explorer,Internet Explorer 10,我在同一页上有一个(而不是type=“submit)和一个 它们不在表单中,并且按钮在输入层次之上有很多级别 文本输入侦听keyup事件,并执行与按钮功能无关的自定义操作 然而,在IE10上,当按下Enter键时,按钮被触发,文本输入永远不会得到该键。Chrome、Firefox和Opera(最新三款)都可以 我使按钮在其:active状态被触发时变为红色。当您关注输入时,按钮不会改变,但按Enter键后,它变为红色 在按钮上设置tabindex=“-1”不会改变任何内容 我找到的解决办法是:

我在同一页上有一个
(而不是
type=“submit
)和一个

它们不在表单中,并且按钮在输入层次之上有很多级别

文本输入侦听
keyup
事件,并执行与按钮功能无关的自定义操作

然而,在IE10上,当按下Enter键时,按钮被触发,文本输入永远不会得到该键。Chrome、Firefox和Opera(最新三款)都可以

我使按钮在其
:active
状态被触发时变为红色。当您关注输入时,按钮不会改变,但按Enter键后,它变为红色

在按钮上设置
tabindex=“-1”
不会改变任何内容

我找到的解决办法是:

  • 在输入时收听
    keydown
    preventDefault()
    。似乎
    keydup
    太晚了
  • 将输入放在表单容器中
我两个都不喜欢,尤其是第二个。还有什么我能做的吗?
希望这是有人碰到的

编辑: 下面是一个工作示例:


谢谢。

不幸的是,我认为preventDefault()是您最好的选择

IE的早期版本(请记住发布您正在测试的版本!)因不兼容而臭名昭著(具有讽刺意味的是,对HTML模式的解释非常严格)


编辑:对于“答案”感到抱歉,该死的网站在我达到50%声誉之前不会让我发表评论。

您测试过哪个IE版本?它在所有版本中都是一致的吗?您能提供一个有效的演示(例如在JSFIDLE、jsBin等上)为了演示它?IE10,我现在不能做小提琴,但如果以前没有人遇到过,我会做。我会将该版本添加到标记中。谢谢:::IE似乎将活动按钮定义为源代码中首先定义的按钮。目前无法测试,但这完全是答案,因此可能会有所帮助!快速浏览了一下。事情是这样的is my button不是提交输入元素,两个元素都不在表单中。实际上,页面上没有表单。谢谢。您现在应该有足够的表单了。:)