以下代码不应该在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>
答案 0 :(得分:1)
当event.preventDefault
未定义时,评估表达式event
会引发错误。尝试使用if (event && event.preventDefault)
而不仅仅是if (event.preventDefault)
。
答案 1 :(得分:-1)
只需更改下面显示的功能,它就可以正常工作
var EventLib = {
"preventDefault" : function(event){
if(!event)
event = window.event;
if(event.preventDefault) {
event.preventDefault();
}else{
window.event.returnValue = false;
}
}
}