Internet Explorer中activeElement的nodeName不正确

时间:2015-10-16 15:21:51

标签: javascript internet-explorer html-form

当文本输入具有焦点并按下回车键时,document.activeElement.nodeName应返回INPUT。这适用于Chrome,Firefox和Safari,但在Internet Explorer / Edge中,它会返回BUTTON

我正在处理一个包含大量JavaScript的自定义表单,并且Internet Explorer报告错误的nodeName,这导致了一个大问题。

See this fiddle for the example.

这是一个已知问题吗?是否有解决方法或修复此问题?

1 个答案:

答案 0 :(得分:0)

如果您将方法更改为输出outerHTML,则可以看到文本输入在Chrome中具有焦点,但提交输入在IE中具有焦点。

将事件绑定到keydown而不是keyup或将第二个inputsubmit更改为button似乎有效。在表单中按enter应该激活第一个submit输入,我想IE在处理这个时所做的事情之一就是关注submit输入。

keydown可能有效,因为在IE激活submit按钮之前会引发该事件。