JavaScript事件委託

2021-07-02 11:54:34 字數 1458 閱讀 4915

js事件處理程式

首先,為什麼要用事件委託,用一段**解釋下:

如上面**,如果要新增事件處理程式,我們一般做法是,給list1、list2、list3這個3個li元素分別新增事件處理程式,但是有沒有想過,如果元素很多呢,我們還是一直用這樣的方法新增嗎?當然是不可能的,這樣子,非累死程式設計師不可

這個時候事件委託就出現了,神一般的存在,解決了這一問題。

事件委託:利用事件冒泡這一特性,指定乙個事件處理程式,管理這一類的所有事件,在他的父元素或更高元素設定事件處理程式,將子元素事件委託給父元素事件。達到省時省力的效果。

接下來用**說明怎樣使用事件委託

html**:

event.js**:

/**

* created by ys on 2015/5/11.

*///跨瀏覽器的事件處理程式

//呼叫時候直接用domevent.addevent( , , );直接呼叫

//使用時候,先用addevent新增事件,然後在handlefun裡面直接寫其他函式方法,如getevent;

//addeventlistener和attachevent---都是dom2級事件處理程式

var domevent = //attachevent----應用於ie

else if(element.attachevent)//其他的選擇dom0級事件處理程式

else

},//事件名稱,含「on」,比如「onclick」、「onmouseover」、「onkeydown」等

removeevent:function(element,event,handlefun)//detachevent----應用於ie

else if (element.detachevent) //其他的選擇dom0級事件處理程式

else

},//阻止事件冒泡

stoppropagation:function(event)else

},//阻止事件預設行為

preventdefault:function(event)else

},//獲得事件元素

非iegetelement:function(event),

//獲得事件

getevent:function(event),

//獲得事件型別

gettype:function(event)

};

deal.js**:

/**

* created by ys on 2015/5/11.

*/window.onload = function()

});};

接下來,幾時測試時間了,我分別在ie7以上,chrome,firefox都測試過,可以

JavaScript事件委託

事件委託就是利用冒泡的原理,把事件加到父級上,通過判斷事件 的子集,執行相應的操作,事件委託首先可以極大減少事件繫結次數,提高效能 其次可以讓新加入的子元素也可以擁有相同的操作。一般繫結事件的寫法 function 事件委託的寫法 function 事件委託就是利用冒泡的原理,把事件加到父級上,通過...

委託是不是事件,方法 事件 委託。

委託不是事件。拿button控制項舉例。先初始化乙個新的button例項。在這裡可以看到click contextmenuclosing等等這些都是事件。在進入buttonbase中可以看到 在宣告事件時是有呼叫到routedeventhandler 路由事件處理處理程式 可以看到routedeve...

委託和事件

主要過程如下 1.在後台 中,我們可以定義處理程式方法alartrang 2.然後定義委託,引用到處理程式方法的例項。3.最後將委託新增到事件中。從而,引發事件時就會呼叫相關的事件處理方法。若要使用在另乙個類中定義的事件,必須定義和註冊乙個事件處理程式。事件 處理程式必須具有與為事件宣告的委託相同的...