Events
您可以編寫事件觸發(fā)執(zhí)行的Javascript代碼,例如用戶單擊HTML元素,移動鼠標或提交表單時。
當目標元素發(fā)生事件時,執(zhí)行處理函數(shù)。
常見的HTML事件包括:
提示: 相應的事件可以添加到HTML元素作為屬性。
例如:
<p onclick="someFunc()">一些文字</p>
處理事件
當用戶單擊指定的按鈕時,我們將顯示一個提醒彈出窗口:
<button onclick="show()">點擊我</button> <script> function show() { alert("你好,我在這里!"); } </script>
可以給元素綁定事件監(jiān)聽:
var x = document.getElementById("demo"); x.onclick = function () { document.body.innerHTML = Date(); }
<button="()"> 點擊 </button>
Event
當用戶進入或離開頁面時,觸發(fā) onload 和 onunload 事件。在頁面加載后執(zhí)行操作時,這些操作非常有用。
<body onload="doSomething()">
類似地,window.onload 事件可以用于在整個頁面加載之后運行代碼。
window.onload = function() { //這里寫代碼 }
onchange 事件主要用于文本框。當文本框內(nèi)的文本發(fā)生變化并且焦點從元素中丟失時,調(diào)用事件處理程序。
例如:
<input type="text" id="name" onchange="change()"> <script> function change() { var x = document.getElementById("name"); x.value= x.value.toUpperCase(); } </script>
以上程序在用戶名發(fā)生改變時,將其值轉成大寫.
<body ="">
</body>
事件監(jiān)聽
addEventListener() 方法將事件處理程序附加到元素,而不會覆蓋現(xiàn)有的事件處理程序。您可以向一個元素添加許多事件處理程序。
您還可以將許多同一類型的事件處理程序添加到一個元素,即兩個“點擊”事件。
element.addEventListener(event, function [, useCapture]);
第一個參數(shù)是事件的類型(如“點擊”或“鼠標按下”)。
第二個參數(shù)是事件發(fā)生時要調(diào)用的函數(shù)。
第三個參數(shù)是一個布爾值,指定是否使用事件冒泡或事件捕獲。此參數(shù)是可選的,將在下一課中進行說明。
提示:在添加事件類型的時候沒有on 如:click 而不是 onclick
element.addEventListener("click", myFunction); element.addEventListener("mouseover", myFunction); function myFunction() { alert("Hello W3Cschool"); }
這會向元素添加兩個事件偵聽器。
我們可以刪除其中一個監(jiān)聽器:
element.removeEventListener("mouseover", myFunction);
我們創(chuàng)建一個事件處理程序,在執(zhí)行后會自動刪除:
<button id="demo">開始</button> <script> var btn = document.getElementById("demo"); btn.addEventListener("click", myFunction); function myFunction() { alert(Math.random()); btn.removeEventListener("click", myFunction); } </script>
單擊按鈕后,將顯示帶有隨機數(shù)的警報,并刪除事件偵聽器。
提示: Internet Explorer版本8及更低版本不支持 addEventListener() 和 removeEventListener() 方法。但是,您可以使用 document.attachEvent() 方法在Internet Explorer中附加事件處理程序。