Why FF says that window.event is undefined? (call function with added event listener)

anony_root picture anony_root · Mar 21, 2012 · Viewed 57.9k times · Source

I have a trouble in this part:

var ex = {
  exampl: function(){
    var ref=window.event.target||window.event.srcElement; // here
    alert(ref.innerHTML); // (example)
  }
}

This function is called this way:

document.body.childNodes[0].addEventListener('mouseover',ex.exampl,true);

Only Firefox says that window.event isn't defined...

I don't know what to do, to make it work. It works very well in webkit browsers and opera (I can't check it in MSIE and I don't care about it).

Why does it happen?

Answer

Joseph picture Joseph · Mar 21, 2012

try getting the event using the parameter passed (named e in this case). i tested this and both window.event and the e is supported in chrome.

try checking for both, whichever exists

var ex = {
  exampl: function(e){

    console.log(window.event);
    console.log(e);  

    //check if we have "e" or "window.event" and use them as "evt"
    var evt = e || window.event    

  }
}