我已经阅读了quirksmode.org上大部分相关文章,但仍然对以下问题不确定:
在使我的应用与IE8兼容时(好开心啊),当尝试将onclick事件设置为链接时,我遇到了这个问题:
function myClickHandler(event)
{
alert(event);
}
var link = document.getElementById("myLink");
link.onclick = myClickHandler; //first option
相反的是:
function myClickHandler(event)
{
alert(event);
}
var link = document.getElementById("myLink");
link.onclick = function() {
myClickHandler(event); //second option
}
使用第一种选项,myClickHandler会弹出
undefined
。而使用第二种选项会弹出[object Event]
,这让我相信在第一种选项中事件对象没有传递给处理程序。为什么在IE8上会这样呢?注意:不想使用attachEvent,因为我想在执行期间覆盖单个侦听器,并且
onclick
似乎很适合这里。