10
我有一個<input>
,它有一個onkeydown
內聯事件處理程序。在這個處理程序中,我想調用一個函數並將特殊參數傳遞給它 - 事件數據。在內聯事件處理程序中傳遞事件數據
當我要處理事件(如的OnMouseMove)整個文檔,我用下面的代碼:
document.onmousemove=function(e) {
// here I can make a good use of the 'e' variable,
// for example extract the mouse coordinates from it
}
和它的作品(雖然我不知道在哪裏e
變量 - 事件數據 - 來自)。
但是這次我只想使用上面提到的<input>
的功能。
我需要將事件數據傳遞給函數,以便它可以獲取按下的鍵的代碼。我想在內聯事件處理程序中執行此操作。我創建了一個功能:
function myfunc (e) {
var evt=window.event?event:e;
var code=evt.keyCode;
alert (code);
}
,並試圖所有這些方法:
<input onkeydown="myfunc(this)">
<input onkeydown="myfunc(this.onkeydown)">
<input onkeydown="myfunc(onkeydown)">
但沒有一次成功,警告窗口不停顯示「未定義」。
我在Google尋找解決我的問題的方法,但沒有找到任何可以幫助我解決問題的方法。
真的謝謝:)很多我不知道的全球'event'變量。現在它完美的工作,再次感謝。 – rhino 2010-10-02 18:36:13
你應該在進入javascript事件處理之前真的閱讀一篇論文,因爲它可能會變得混亂,特別是如果你處理IE。無論如何,我很高興能夠提供幫助。 – galambalazs 2010-10-02 18:38:11
在IE7&和IE 8上不起作用 – Luckyy 2014-04-02 08:55:55