焦点事件不是通过Chrome中的Javascript触发

时间:2014-04-13 16:22:44

标签: javascript google-chrome

自升级到最新的Chrome版本34.0.1847.116后,调用时似乎没有触发焦点事件

myinput.focus()

在Javascript中。

这在Chrome 33.0.1750.154中运行良好。

的test.html

<html>
<head><title>Test</title></head>
<body>
<input id="test_box" onfocus="alert('focused');" />
</body>
</html>

从控制台:

document.getElementById('test_box').focus();

Chrome 34中没有提醒。

有什么想法吗?这是一个错误吗?是否有解决方法来解雇事件?

3 个答案:

答案 0 :(得分:5)

一旦您关闭Chrome开发工具,焦点事件就会激活。

答案 1 :(得分:2)

如果v33没有显示相同的行为,我不知道这是否真的是Chrome v34的错误或错误修复。 (这是由于在控制台中输入语句)。

如果您尝试http://fiddle.jshell.net/aQ5n6/7/show/

然后转到控制台,输入

document.getElementById('test_box').focus();

它不会发出警报,因为焦点仍然在控制台中...但是一旦您点击HTML文档的内容(例如任何空白空间),它就会触发警报。看起来当焦点实际上不在输入元素上时(当焦点仍在控制台上时),则不会触发事件。

答案 2 :(得分:1)

我的 Google Chrome 版本为34.0.1847.116

在这里工作Fiddle

<input id="test_box" onfocus="alert('focused');" />

建议:检查控制台是否有错误或警告。