今天總結(jié)一個關(guān)于事件處理程序的小細(xì)節(jié)。首先回顧一下事件處理的一些概念。

  JS中的事件處理(事件綁定)就是讓某種或某些事件觸發(fā)某些活動。有兩種常見的形式,分別是DOM Level 0 和DOM Level 2。這兩種方式最大的區(qū)別就在于DOM 0級事件處理只能用于事件冒泡,而DOM 2級事件處理卻可以通過設(shè)置第三個參數(shù)來分別支持事件冒泡和事件捕獲。

  DOM 0級事件處理一般是直接把一個函數(shù)分配給一個事件處理程序,既可以在元素中直接分配一個事件處理程序,如方式一所示;也可以在腳本中把函數(shù)分配給事件處理程序,如方式二所示。

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

<!--方式一--><div onclick="fun1();fun2('world!');"></div><!--方式二--><div id="a">點我</div><script>
    var a=document.getElementById("a");

    a.onclick=fun1;   //方式二 

    function fun1(){
        alert("hello!");
    }    function fun2(cc){
        alert(cc);
    }</script>

大學(xué)生就業(yè)培訓(xùn),高中生培訓(xùn),在職人員轉(zhuǎn)行培訓(xùn),企業(yè)團(tuán)訓(xùn)

  這兩種方式的區(qū)別在上述示例中也顯示了,第一種方式可以同時綁定多個處理函數(shù),但要注意必須是全局函數(shù),否則會拋出Reference錯誤。第二種方式只能一次綁定一個處理函數(shù),否則新的函數(shù)會覆蓋舊的函數(shù)。

網(wǎng)友評論