2017-02-16 15 views
-1

я реализовал Lync Contact Card Присутствия следующим образом:Невозможно получить свойство «srcElement» неопределенной или нулевой ссылки ИЛИ window.event не определено в FF

var email = "[email protected]"; 
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»

Я пытался использовать следующий код, но он не работает:

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

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

'document.addEventListener ('onclick', ex.exampl, true);' должен быть 'document.addEventListener ('click', ex.exampl, true);' – epascarello

+0

Невозможно получить свойство 'exampl' неопределенного или null reference – user3674148

+0

Ну, вам нужно определить объект, прежде чем ссылаться на него. – epascarello

ответ

0

Это должно быть «нажать» не "по щелчку". Вы должны определить объект, прежде чем ссылаться на него из-за подъема. И вы обнаружите ошибку в 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>

В современных браузерах, вы действительно не нужно проверить окна.

+0

Я следил за вашим ответом, и в IE он работал, но в FF все тот же, не знаю, что не так. – user3674148

+0

О srcElement, мне интересно то же самое, я не использовал его в любом случае, однако он выдает ошибку. – user3674148

+0

@user .srcElement - это устаревший IE-эквивалент свойства .target. см. https://msdn.microsoft.com/en-us/library/ff974945(v=vs.85).aspx --- когда FF не любит сложный объект .property как функцию прослушивателя, вы можете обернуть его вот так : function (evt) {ex.exampl (evt)} – user4749485