焦点事件未通过Chrome中的Javascript触发
由于升级到最新的Chrome版本34.0.1847.116,呼叫时焦点事件似乎没有触发焦点事件未通过Chrome中的Javascript触发,javascript,google-chrome,Javascript,Google Chrome,由于升级到最新的Chrome版本34.0.1847.116,呼叫时焦点事件似乎没有触发 myinput.focus() 在Javascript中 这在铬33.0.1750.154中工作良好 test.html <html> <head><title>Test</title></head> <body> <input id="test_box" onfocus="alert('focused');" /> <
myinput.focus()
在Javascript中
这在铬33.0.1750.154中工作良好
test.html
<html>
<head><title>Test</title></head>
<body>
<input id="test_box" onfocus="alert('focused');" />
</body>
</html>
Chrome 34中没有警报
有什么想法吗?这是虫子吗?是否有触发事件的解决方法?一旦您解除Chrome开发工具的焦点,焦点事件将触发。我的谷歌Chrome版本是
34.0.1847.116
在这里工作
建议:检查您的控制台是否有错误或警告。如果v33没有显示相同的行为,我不知道这是否是Chrome v34的错误或错误修复。(这是由于在控制台中键入了语句) 如果你尝试 然后转到控制台,键入
document.getElementById('test_box').focus();
它不会发出警报,因为焦点仍在控制台中。。。但只要您单击HTML文档的内容(如任何空白),它就会触发警报。看起来,当焦点实际上不在输入元素上时(当焦点仍然在控制台上时),事件就不会被触发。对我来说很有效。我避免对()使用
alert
for(),因为alert
focus到处乱跑。在Windows上使用Chrome 34.0.1847.116进行测试时,我看到消息说我即将聚焦,以及来自onfocus
属性的消息。我可能有相关问题,降级到Chrome 33,问题就消失了。。看到这个行为改变了吗?在Chrome v33中,当事件被触发并显示警报时,它会将焦点从控制台切换到浏览器窗口。我想是这样的,Chrome canary中的这种行为也是一样的,所以我猜这可能是一个尚未报告的错误,或者是有意为之。这是否真的不仅仅是“不聚焦”控制台?比如说,如果切换到元素选项卡并单击某个元素,因此控制台没有聚焦,那么它仍然不会触发@動靜能量 你是对的;开发工具必须没有焦点,我已经编辑了我的答案
<input id="test_box" onfocus="alert('focused');" />
document.getElementById('test_box').focus();