如果是事件處理函數綁定的函數,瀏覽器會預設傳遞一個參數,而這個參數就是事件對象。 因為arguments[0]這樣使用這個參數比較麻煩,所以我們可以傳遞一個參數evt來進行使用。 ...
如果是事件處理函數綁定的函數,瀏覽器會預設傳遞一個參數,而這個參數就是事件對象。
document.onclick = function() { alert(arguments.length); //1 }
因為arguments[0]這樣使用這個參數比較麻煩,所以我們可以傳遞一個參數evt來進行使用。
document.onmouseup = function(evt) { var e = evt || window.event; alert(e.button); //0為滑鼠左鍵,1為滾輪,2為右鍵 //基於瀏覽器可視區左上角的位置 alert(e.clientX + ',' + e.clientY); //機器的解析度 alert(window.screen.width + ',' + window.screen.height); // 離屏幕左上角的位置 alert(e.screenX + ',' + e.screenY); }
//偵測按鍵 document.onclick = function(evt) { alert(getKey(evt)); } function getKey(evt) { var e = evt || window.event; var keys = []; if (e.shiftKey) { keys.push('shift'); } if (e.ctrlKey) { keys.push('ctrl'); } if (e.altKey) { keys.push('alt'); } return keys; }
//鍵盤事件,keydown是按下任意鍵,keyup是彈起任意鍵,keypress按下字元鍵觸發 //鍵碼:鍵盤上任意鍵,全相容 //字元編碼:可以輸出的字元的鍵,IE不相容 document.onkeydown=function(evt){ var e = evt || window.event; alert(e.keyCode); //keyCode返回鍵碼 } document.onkeypress = function(evt) { var e = evt || window.event; alert(e.charCode); //charCode返回字元鍵碼 } document.onclick = function(evt) { var e = evt || window.event; alert(e.target.innerHTML); //點到哪裡target就選中哪個元素 }