javascript - IE6 中的 event.returnValue

标签 javascript dom-events

以下代码不应在 IE 和 Firefox 中打开新窗口。它在 Firefox 中不打开,但在 IE 中打开。怎么了?

var EventLib = {
    "preventDefault"  : function(event){
        if(event.preventDefault) {
            event.preventDefault();
        }else{
            window.event.returnValue = false;
        }           
    }
}

window.onload = function(){
  var elem = document.getElementById("link");
    elem.onclick = function(e){
    EventLib.preventDefault(e);
    }
}

HTML 是:

<a id="link" href="http://www.google.com" target="_blank">Click</a>

最佳答案

event 未定义时,评估表达式 event.preventDefault 可能会引发错误。尝试使用 if (event && event.preventDefault) 而不仅仅是 if (event.preventDefault)

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

相关文章:

javascript - 使用 Javascript 添加两个数字时犯了什么错误

javascript - Image.onload 不适用于 .jpg 图像更改为 .png

Javascript onclick 对象相关方法

javascript - 如何在 Karma.js 中模拟函数

javascript - addEventListener 如何影响 DOM 元素的 onclick 属性?

javascript - 如何检查数组是否具有相同的值?

javascript - 动画结束监听器和 setTimeout

javascript - 跨浏览器很棒的盒子阴影效果

javascript - PHP 在单选按钮上将单选值发布到下一页

javascript - ES6 WeakMap 的实际用途是什么?