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不是提交输入元素,两个元素都不在表单中。实际上,页面上没有表单。谢谢。您现在应该有足够的表单了。:)