In this abbreviated code, the inline event works – the ‘event’ is passed to the testKeyPress function
<textarea id='source' onkeydown= 'showCursPos(this); var tf=testKeyPress(event); document.onkeypress=function(){return tf}; document.onkeydown=function(){return tf}; ' ></textarea> function testKeyPress(e){ if (e.ctrlKey==true ){ if (e.which == null ){kcode=e.keyCode; } // IE else if (e.which > 0){kcode=e.which; } // gecko return testValidity(kcode); //returns true-false } }
However, in this anonymous version, the event is not passed in gecko:
<textarea id='source'></textarea> $('source').onkeydown = function(){ showCursPos(this); // this function works // next event is passed in IE, but not gecko var tf=testKeyPress(event); // remaining functions work if value is forced document.onkeypress=function(){return tf}; document.onkeydown=function(){return tf}; }
How does one pass the function’s own event?
Yes, there is an event object as arguments.
You can get it by
I don’t know if they exact the same, but I read
<xxx onkeydown='func(event);'>asxxx.ononkeydown=function(event){func(event);};Reference event @ Mozilla.org