gpt4 book ai didi

javascript - 类型错误 : Value does not implement interface EventListener

转载 作者:行者123 更新时间:2023-11-30 10:29:23 25 4
gpt4 key购买 nike

这在 IE 和 Chrome 中有效,但是在 Firefox 中,我收到错误:

“TypeError:值未实现接口(interface) EventListener。”

此代码由 php 脚本发布,因此我必须首先添加判断 id 是否存在的 if 语句,以避免在 Chrome 中出错。

代码如下:

HTML <a id="Logout">Logout</a>

JavaScript

if (document.getElementById("Logout") != null) {
var Logout_Link = document.getElementById("Logout");
Logout_Link.addEventListener('click', Logout, true);

function Logout() {
var just_logged_out = 1;
window.location.href = "logout-redirect.php";
}
}

最佳答案

if (…) {
function …() {

}
}

无效。函数声明必须在函数或程序主体的顶层,在 block 内 their behaviour is implementation-dependent .将它移到 if 语句之外:

function Logout() {            
var just_logged_out = 1;
window.location.href = "logout-redirect.php";
}

if (document.getElementById("Logout") != null) {
var Logout_Link = document.getElementById("Logout");
Logout_Link.addEventListener('click', Logout, true);
}

因此,如果函数未[正确]声明,那么奇怪的错误消息是什么?您可能已经预料到类似 WRONG ARGUMENTS ERROR: handler is 'undefined' 的内容。但实际上不是,Logout does refer to your link element .这确实没有实现 EventListener 接口(interface)(JavaScript 函数实现)。

关于javascript - 类型错误 : Value does not implement interface EventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17845337/

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