微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何处理 Event is Not Defined 错误消息

Javascript ReferenceError 在引用当前范围内不存在或尚未初始化的变量时发生。

ReferenceError: event is not defined 通常在使用事件处理程序时发生,如果事件参数未声明或声明不正确的时候,就会看到这个错误消息。 例如在 onclick 事件中,处理程序未声明事件参数,则会引发此错误

当尝试引用不存在或超出范围的变量时,将引发 Javascript ReferenceError。 在引用变量或参数之前未定义它是最常见的引用错误触发器之一。

在 Javascript 中使用事件处理程序时,处理程序需要为事件对象声明一个参数。 这个参数通常被命名为 e 或 event。 如果此参数未在处理程序中声明,或者声明不正确,并且稍后在处理程序中使用,则会引发 ReferenceError: event is not defined。

Javascript Window 对象有一个名为 event 的属性,该属性仅受某些浏览器支持。 如果未在事件处理程序中显式声明事件参数,则可能会使用此属性。 因此,此错误仅发生在不支持 Window.event 属性的浏览器中。

看个具体的例子:

<button id="mybutton" onclick="myFunction(event)">

function myFunction() {
    console.log(event);
}

在上面的示例中,事件参数未在 onclick 事件处理程序 myFunction() 中声明。 如果此代码不支持 Window.event 属性的浏览器中运行,则会引发 ReferenceError: event is not defined。

Javascript ReferenceError: event is not defined 仅发生在不支持 Window.event 属性的浏览器中。 此属性已弃用,应在代码中避免使用。

最好使用传递给事件处理函数的 Event 对象。 这可以通过在事件处理函数中声明事件参数来实现。

可以使用上述方法更新前面的示例以修复错误

function myFunction(event) {
    console.log(event);
}

这里,由于在事件处理函数myFunction()中声明了event参数,所以可以正常使用事件对象,避免了ReferenceError: event is not defined 的错误消息。

原文地址:https://cloud.tencent.com/developer/article/2138136

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐