嵌入式
<button οnclick='alert("hello")'>點擊按鈕</button>
腳本模型
btn.onclick=function(){}
下面兩種方法效果是一樣的
document.getElementById("target").onclick();
document.getElementById("target").click();
備注:
btnObj.click()是真正地用程序去點擊按鈕,觸發了按鈕的 onclick()事件
btnObj.onclick()只是簡單地調用了btnObj的onclick所指向的方法,只是調用方法而已,並未直接觸發事件
W3C事件寫法
添加事件:appEventListener(事件名,事件函數,false )
btn.addEventListener('click',function(){},false);
btn.addEventListener('click',function(){},false);
移除事件:removeEventListener(事件名,事件函數名,false)
btn.removeEventListener('click',show,false )
第三個參數是個布爾值用於描述事件是冒泡還是捕獲。該參數是可選的。
事件冒泡或事件捕獲
事件傳遞有兩種方式:冒泡與捕獲。
事件傳遞定義了元素事件觸發的順序。 如果你將
元素插入到
元素中,用戶點擊
元素, 哪個元素的 "click" 事件先被觸發呢?
-
在 冒泡 中,內部元素的事件會先被觸發,然后再觸發外部元素,即:
元素的點擊事件先觸發,然后會觸發
元素的點擊事件。 -
在 捕獲 中,外部元素的事件會先被觸發,然后才會觸發內部元素的事件,即:
元素的點擊事件先觸發 ,然后再觸發元素的點擊事件。
addEventListener(event, function, useCapture);
默認值為 false, 即冒泡傳遞,當值為 true 時, 事件使用捕獲傳遞。