gpt4 book ai didi

javascript - 原型(prototype)/javascript - 除非焦点在文本框中,否则 Firefox 不会触发按键/按键事件

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:10:26 24 4
gpt4 key购买 nike

以下在 IE6、IE7 和 chrome 上运行良好。不适用于 ff 3.0.7。

<html><head>
<script src="prototype.js" type="text/javascript" ></script>
<script type="text/javascript">
Event.observe(window, 'load',
function(){
Event.observe(document.body, 'keydown', myEventHandler);
alert('window load');
});
function myEventHandler(evt) {
alert(evt);
}
</script>
</head>
<body >
<input type="text" /><br><br>
</body></html>

编辑:“不工作”是指 myEventHandler 未在 firefox 中触发。

EDIT2:此外,当焦点在输入元素上时,它工作正常。我希望它在所有按键下都触发。

最佳答案

我不知道为什么你的代码不起作用,但它太复杂了 - 这应该可以解决问题:

document.observe('keydown', myEventHandler);

无需等待加载,因为文档立即可用。


您的代码不起作用,因为并非所有关键事件都源自文档的 body 元素。 Opera 存在与 Firefox 类似的问题,但原始元素似乎还取决于鼠标光标的位置。

无论如何,修复方法是只捕获 document 级别的事件,因为只要没有人阻止他们这样做,所有 DOM 事件都会冒泡到 document 最终。

关于javascript - 原型(prototype)/javascript - 除非焦点在文本框中,否则 Firefox 不会触发按键/按键事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/630276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com