Javascript事件是指瀏覽器或用戶在文檔中執行特定動作時發生的交互。
JavaScript事件處理程序常常通過函數綁定到事件上以便觸發時執行,通常是在HTML代碼塊中或通過JavaScript代碼動態綁定。事件函數代表著代碼塊,有著小巧玲瓏的體積,可以讓你在瀏覽器上更方便的享受一些計算機的快速計算操作。
下例為綁定onLoad事件:
window.onload = function() { console.log("頁面加載就緒!"); };
當頁面加載完成時,被綁定的事件處理程序就自動執行并輸出“頁面加載就緒!”這句話。
事件可以分類有多種方式,每個分類特殊事件的處理程序共享相同的匹配條件。例如,鼠標單擊事件單擊一個元素或按下/釋放鼠標按鍵時會觸發。以下代碼為單擊一個按鈕執行的操作:
<button onclick="alert('歡迎!')">點擊我</button>
當單擊該按鈕時,會彈出提示框: “歡迎!”
還有一種比較穩固的做法是,使用addEventListener()傳遞事件監聽器函數:
var myBtn = document.getElementById("myBtn"); myBtn.addEventListener("click", function() { console.log("按鈕被單擊了"); });
這樣,當按鈕被單擊時,“按鈕被單擊了”的信息會在JavaScript控制臺上被打印出來。
當具有多個處理程序的情況,最后添加的處理程序會覆蓋之前綁定的處理程序。在以上面的例子為例:
var myBtn = document.getElementById("myBtn"); myBtn.onclick = function() { console.log("第一次單擊"); }; myBtn.onclick = function() { console.log("第二次單擊"); };
當該按鈕被單擊時,控制臺將顯示“第二次單擊”,而不是“第一次單擊”。
在HTML屬性中定義事件處理程序:
<button onclick="alert('屬性中定義的處理程序')">單擊我(屬性范例)</button>
這將在單擊按鈕時在瀏覽器上彈出一個警告對話框。
由于JavaScript中的任何函數都可以轉換為事件處理程序,因此可以向處理程序傳遞參數,例如:
function showMessage(event, userName) { console.log("歡迎 " + userName + " !"); }
傳遞給函數的第一個參數是event對象,而第二個參數則是所期望的用戶名。要調用此函數,我們需要將它與HTML代碼有機地聯系在一起:
<button onclick="showMessage(event, '李明')">點擊我(屬性范例)</button>
當單擊該按鈕時,歡迎李明!的信息將在控制臺上打印出來。
下列事件包括:onabort,onblur,onchange,onclick,ondblclick,onerror,onfocus,onkeydown,onkeypress,onkeyup,onload,onmousedown,onmousemove,onmouseout,onmouseover,onmouseup,onreset,onresize,onselect,onsubmit,onunload,ondrag和ondragdrop。一次事件發生后,通常使用event.preventDefault()阻止默認行為的發生和event.stopPropagation()停止事件冒泡。
Javascript事件是前端開發原理的核心知識,適應標準的事件處理程序需要特定的細致入微的操作。以上的介紹中,可以針對不同的事件類型來進行相關操作。