I have an <input>
which has an onkeydown
inline event handler. In this handler, I'd like to call a function and pass a special parameter to it - the event data.
When I want to handle events (e.g. onmousemove) for the whole document, I use the following code:
document.onmousemove=function(e) {
// here I can make a good use of the 'e' variable,
// for example extract the mouse coordinates from it
}
And it works (although I don't know where the e
variable - event data - comes from).
But this time I want to use the function only for the <input>
mentioned above.
I need to pass the event data to the function so it can get the pressed key's code. And I want to do it in that inline event handler. I've created a function:
function myfunc (e) {
var evt=window.event?event:e;
var code=evt.keyCode;
alert (code);
}
and tried all of these methods:
<input onkeydown=myfunc(this)>
<input onkeydown=myfunc(this.onkeydown)>
<input onkeydown=myfunc(onkeydown)>
But none of them worked, the alert window kept displaying undefined.
I looked for a solution to my problem in Google, but didn't find anything that could help me solve it.