无法获得财产' srcElement'未定义或空引用或窗口中的window.event未定义

时间:2017-02-16 15:54:49

标签: javascript internet-explorer firefox lync-2013

我已实施Lync Contact Card Presence,如下所示:

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及更高版本中,它有时会起作用,有时会抛出"无法获得属性' srcElement'未定义或空引用"。

在FireFox中,它会抛出" window.event在FF&#34中未定义;

我尝试使用以下代码,但它没有工作:

document.addEventListener('onclick',ex.exampl,true);

var ex = { exampl: function(e){ var evt = e || window.event } }

1 个答案:

答案 0 :(得分:0)

应该是"点击"不是" 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>
&#13;
&#13;
&#13;

在现代浏览器中,您确实不需要窗口检查。