当文本输入具有焦点并按下回车键时,document.activeElement.nodeName
应返回INPUT
。这适用于Chrome,Firefox和Safari,但在Internet Explorer / Edge中,它会返回BUTTON
。
我正在处理一个包含大量JavaScript的自定义表单,并且Internet Explorer报告错误的nodeName,这导致了一个大问题。
See this fiddle for the example.
这是一个已知问题吗?是否有解决方法或修复此问题?
答案 0 :(得分:0)
如果您将方法更改为输出outerHTML
,则可以看到文本输入在Chrome中具有焦点,但提交输入在IE中具有焦点。
将事件绑定到keydown
而不是keyup
或将第二个input
从submit
更改为button
似乎有效。在表单中按enter
应该激活第一个submit
输入,我想IE在处理这个时所做的事情之一就是关注submit
输入。
keydown
可能有效,因为在IE激活submit
按钮之前会引发该事件。