瀏覽器的事件有非常多種,這篇介紹一些比較常見的事件
事件處理,是指程式不會馬上執行,直到觸發事件的條件之後,程式就會自動執行
也就是說,比較不同的事件就是在比較不同的觸發條件
click
dblclick
mousedown
/ mouseup
mousedow
,放開滑鼠觸發 mouseup
mouseenter
/ mousemove
/ mouseleave
mouseenter
mousemove
mouseleave
滑鼠事件很常搭配事件物件中的 event.pageX
與 event.pageY
來得到目前在網頁中的座標。
mousedown
、mouseup
、mousemove
可以做一些,點擊圖片或元素,接著拖曳他們移動的效果click
、dblclick
可以做一些可以給使用者修改的表單或表格只要雙擊滑鼠、就更改表格的內容。
keydown
keypress
keypress
只會針對輸出文字符號的按鈕有效。keyup
keydown
如果我們對同一個元素,綁定了這三個鍵盤事件,這三個鍵盤事件觸發的順序為
keydown -> keypress -> keyup
如果想知道,按下了什麼按鈕可以透過事件物件的 event.key
來查詢
下面這段程式碼可以測試看看,按下了什麼按鍵,並且顯示在主控台
<!DOCTYPE html>
<html lang="en">
<head>
<title>鍵盤事件</title>
<script>
function init(){
var btn=document.getElementById("btn");
btn.addEventListener('keypress',function(e){
console.log('按下 keypress');
console.log('keypress: ',e.key);
});
btn.addEventListener('keydown',function(e){
console.log('按下 keydown');
console.log("keydown: ",e.key);
})
btn.addEventListener('keyup',function(e){
console.log("觸發 keyup");
console.log("keyup: ",e.key);
})
}
</script>
</head>
<body onload="init()">// 使用 load 事件,body 載入完成執行 init 函式
<input type="text" id="btn">
</body>
</html>
知道使用按了什麼按鈕可以做什麼呢?
通常會在使用者在 按下 enter 時,使用 keydown 事件來送出表單。
或者製作一些遊戲,利用方向鍵控制車子前進、移動。
裡面提了關於事件物件與 load 事件,這些就等後面的篇章在解釋囉~
祝大家中秋節快樂^^