Javascript 这是一个bug还是FireFox的预期设计?

Javascript 这是一个bug还是FireFox的预期设计?,javascript,internet-explorer,firefox,web-applications,Javascript,Internet Explorer,Firefox,Web Applications,在FireFox中,使用JavaScript,当用户按下enter键在警报窗口中选择“ok”时,onkeyup被触发。在互联网上,这种情况不会发生 这段HTML代码演示了我所说的。打开它,在文本字段中键入一个字符,然后按enter键选择“确定”。在FireFox和IE中试用 <!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <title>JS

在FireFox中,使用JavaScript,当用户按下enter键在警报窗口中选择“ok”时,
onkeyup
被触发。在互联网上,这种情况不会发生

这段HTML代码演示了我所说的。打开它,在文本字段中键入一个字符,然后按enter键选择“确定”。在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>

JS示例
函数popup()
{
警报(“bam”)
}
每个输入的字符都会产生一个警报窗口:
这是设计的还是一个问题?如何防止FireFox再次启动


编辑:我找到了,bugzilla有“投票支持”或同等功能吗?这让我在尝试排除故障时误入歧途,我在调用的函数中寻找无限循环/递归。

这是因为Firefox比其他浏览器更快地销毁其警报,并且在按下Enter键的情况下,焦点有可能返回到您的字段。通过把回车键放长一点,可以在其他浏览器中重现这一点。

我个人认为这是一个错误。您可以查看(大量)Bugzilla数据库,也可以只在其上记录一个明确的错误。如果您在警报之前将焦点从输入中移开,该怎么办。这是否停止了不必要的行为?如果在示例中使用onkeypress,两种浏览器都会为字符输入触发一次,而不是在模式警报中按enter键时触发。我无法想象需要担心它-除了大量的旧教程之外,警报、确认和提示大部分都在后视图窗口中。@TimBJames是的,它使用
blur()