1. 程式人生 > >Dom0級和Dom2級

Dom0級和Dom2級

DOM0級事件元素繫結多個click最後只執行最後一個click。

DOM2級事件元素繫結多個click,都要執行

注意當繫結的多個事件名,函式名,事件發生階段三者完全一樣時,才執行最後一個

div.addEventListener("click",fn1,false)

    div.addEventListener("click",fn1,false)

第二引數儘量不要使用匿名函式

區別

  1. dom0級繫結多個相同的事件,後者會覆蓋前者,dom2級不會
  2. Dom0只適合普通事件,Dom2級還有指定的事件型別如DOMContentLoaded(當html文件結構載入完成之後執行)這個事件就是jquery中的$(document).ready()

Window.onload和$(document).ready()的區別

2.事件取消 DOM0級直接賦值null,DOM2級需要使用removeEventListener()

div.onclick=function(){

        console.log(123)

    }

div.onclick=null;  DOM0級取消事件

div.addEventListener("click",fn1,false)

    function fn1(){

        console.log(123)

    }

div.removeEventListener("click",fn1,false) DOM2級取消事件

鍵盤事件

鍵盤事件

onkeydown  onkeyup

鍵盤事件觸發時,瀏覽器天生給方法一個叫KeyboardEvent的物件,所有鍵盤的資訊都在這個物件上。

我們發現ev有個屬性keyCode 鍵盤編碼

document.onkeydown=function(ev){

        var ev=ev||window.event

        console.log(ev.keyCode)

    }

右擊滑鼠事件  oncontextmenu  滑鼠右擊事件

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

預習

1.取消預設行為

document.getElementById("a").onclick=function(event){

        var event=event||window.event

        if(event.preventDefault){

            event.preventDefault()

        }else{

            event.returnValue=false

        }

       

        console.log(window.event)

    }

2.事件源