0

在 FireFox 中,使用 JavaScript,当用户在警报窗口上按下回车键选择“确定”时,onkeyup就会触发。在 Internet Explorer 中,这不会发生。

这段 HTML 代码演示了我在说什么。打开它,在文本字段中输入一个字符,然后按回车键选择“确定”。在 FireFox 和 IE 中试一试。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8" />
    <title>JS example</title>
    <script type="text/javascript">
        function popup()
        {
                alert("bam")
        }
    </script>
</head>
<body>
<form>
    Each inputted character causes an alert window:<input type="text" onkeyup="popup()" />
</form>
</body>
</html>

这是设计的还是这是一个问题?如何防止 FireFox 再次触发?

编辑:我在 bugzilla 上找到了它, bugzilla 是否有“投票”或同等功能?当我试图解决问题时,这让我误入歧途,我在被调用的函数中寻找无限循环/递归。

4

1 回答 1

1

这是因为 Firefox 比其他浏览器更快地销毁它的警报,并且焦点可能会在 Enter 键仍然按下时返回到您的字段。通过按住 Enter 键的时间稍长,可以在其他浏览器中重现这一点。

于 2013-02-01T00:03:35.463 回答