无法获取未定义或空引用的 属性 'srcElement' 或 window.event 在 FF 中未定义
Unable to get property 'srcElement' of undefined or null reference OR window.event is undefined in FF
我已经实现了一个 Lync 联系人卡片状态,如下所示:
var email = "userEmail@example.com";
var uuid = guid() + ",type=sip";
IMNRC(email, document.getElementById(uuid));
function guid() { function s4() { return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); }
return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); }
在 IE 10 及更高版本中它有时会工作,有时会抛出 "Unable to get property 'srcElement' of undefined or null reference"。
在 FireFox 中,它抛出 "window.event is undefined in FF"
我尝试使用以下代码,但没有成功:
document.addEventListener('onclick',ex.exampl,true);
var ex = { exampl: function(e){ var evt = e || window.event } }
应该是 "click" 而不是 "onclick"。由于提升,您需要在引用对象之前定义该对象。并且您显示有关 srcElement 的错误,但您的代码中没有 srcElement。
var ex = {
exampl: function(e) {
var evt = e || window.event,
target = e.target || e.srcElement;
console.log(target);
}
}
document.addEventListener('click', ex.exampl, true);
<div>1</div>
<div>2</div>
<div>3</div>
在现代浏览器中,您确实不需要 window 检查。
我已经实现了一个 Lync 联系人卡片状态,如下所示:
var email = "userEmail@example.com";
var uuid = guid() + ",type=sip";
IMNRC(email, document.getElementById(uuid));
function guid() { function s4() { return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1); }
return s4() + s4() + '-' + s4() + '-' + s4() + '-' + s4() + '-' + s4() + s4() + s4(); }
在 IE 10 及更高版本中它有时会工作,有时会抛出 "Unable to get property 'srcElement' of undefined or null reference"。
在 FireFox 中,它抛出 "window.event is undefined in FF"
我尝试使用以下代码,但没有成功:
document.addEventListener('onclick',ex.exampl,true);
var ex = { exampl: function(e){ var evt = e || window.event } }
应该是 "click" 而不是 "onclick"。由于提升,您需要在引用对象之前定义该对象。并且您显示有关 srcElement 的错误,但您的代码中没有 srcElement。
var ex = {
exampl: function(e) {
var evt = e || window.event,
target = e.target || e.srcElement;
console.log(target);
}
}
document.addEventListener('click', ex.exampl, true);
<div>1</div>
<div>2</div>
<div>3</div>
在现代浏览器中,您确实不需要 window 检查。