javascript - 插入 'event'与不插入有什么区别?

标签 javascript

<!DOCTYPE html>
<html>
<head>
<script>
function whichButton() {
    document.getElementById("demo").innerHTML = event.keyCode;
}
</script>
</head>

<body onkeyup="whichButton()">

<p><b>Note:</b> Make sure the right frame has focus when trying this example!</p>

<p>Click on this page, and press a key on your keyboard.</p>

<p id="demo"></p>

</body>
</html>

以上是我修改的w3schools.com的代码。

原始代码的参数“event”如下所示:whichButton(event)

我想知道该参数“event”的作用是什么以及为什么人们插入该“event”参数。

我从上面的代码中删除了“event”参数,但它仍然工作正常。

我认为代码没有错误。一定有什么我不知道的事情......

最佳答案

隐式事件并非在所有浏览器中都有效,不应使用。我的猜测是出于兼容性原因,event 被添加到某些浏览器中。

以下测试告诉我们它们是否是对同一对象的引用:

document.body.addEventListener("keyup", function (e) { alert(e === event); });

Internet Explorer 11:true

Google Chrome 39:true

Mozilla Firefox 33:ReferenceError:事件未定义

关于javascript - 插入 'event'与不插入有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26409356/

相关文章:

javascript - 如何在使用 JavaScript 单击按钮时删除表格行?

javascript - 在 Three.js 中对 THREE.TextGeometry 对象应用发光效果

php - 将选择框值发布到 php mysql 查询时出现问题

javascript - 如何合并具有相同类的任意数量的(动态)表格单元格?

javascript - 根据浏览器中显示的文本选择按钮元素

php - CKEditor 在支持 prototype.js 的环境中是否正常工作?

javascript - 无法获取资源 'https://jcenter.bintray.com/com/android/tools/build/gradle/2.1.0/gradle-2.1.0.pom'

javascript - 如何仅使用 javascript 找出屏幕上模式对话框的宽度和高度?

javascript - 为什么没有操作的表单标签会重新加载页面?

javascript - Internet Explorer HTML5 视频仅在一段时间后才开始