javascript - Chrome 中的 addEventListener

标签 javascript google-chrome dom dom-events

我正在学习 Lynda.com 上有关新 DOM 事件模型的教程。

这是我正在使用的代码。

function addEventHandler(oNode, sEvt, fFunc, bCapture){

if (typeof (window.event) != "undefined")
    oNode.attachEvent("on" + sEvt, fFunc);
else
    oNode.addEventListener(sEvt, fFunc, bCapture);
}

function onLinkClicked(e){
alert('You clicked the link');
}

function setUpClickHandler(){
addEventHandler(document.getElementById("clickLink"), "click", onLinkClicked, false);
}


addEventHandler(window, "load", setUpClickHandler, false);

我将其添加到此链接的点击事件中

<a href="#" title="click me" id="clickLink">Click Me!</a>

它在 IE、Firefox、Opera 中运行良好,但在 Chrome 中却不行。我环顾四周,但还没有找到任何具体的东西。一些类似的问题,但它没有回答我的问题。

我从 Chrome 控制台收到以下错误:

Uncaught TypeError: Object [object HTMLAnchorElement] has no method 'attachEvent'

有任何建议或答案链接吗?

最佳答案

你为什么要测试:

if (typeof (window.event) != "undefined")

...为了决定是否使用attachEvent()? Chrome 确实定义了 window.event,因此您的代码会尝试使用未定义的 attachEvent()

尝试直接测试该方法:

if (oNode.attachEvent)
    oNode.attachEvent("on" + sEvt, fFunc);
else
    oNode.addEventListener(sEvt, fFunc, bCapture);

关于javascript - Chrome 中的 addEventListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15968224/

相关文章:

xml - Perl XML::DOM 解析器的使用

javascript - 捕获选定的选项返回未定义的值

javascript - jQuery 如果在未定义的函数内

javascript - 导航到新链接时内容脚本无法运行

javascript - XMLHttpRequest: "chrome-extension://"前置到 URL 获取错误: net::ERR_FILE_NOT_FOUND

jquery - 字段的 .val() 未更新

javascript - 使用 CSS 或 JQuery 绘制 div 边框

javascript - 谷歌脚本电子表格未在执行时更新

jquery - Chrome 淡入滚动条问题

C++ Xersers removeChildnode 和 flush 留下一个空行