欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript事件委托技術(shù)實(shí)例分析

 更新時(shí)間:2015年02月06日 10:01:04   作者:kooky798  
這篇文章主要介紹了JavaScript事件委托技術(shù),實(shí)例分析了事件委托技術(shù)的原理、適用場(chǎng)合及用法實(shí)例,需要的朋友可以參考下

本文實(shí)例分析了JavaScript事件委托技術(shù)。分享給大家供大家參考。具體分析如下:

如果一個(gè)整體頁(yè)面里有大量的按鈕.我們就要為每一個(gè)按鈕綁定事件處理程序.這樣就會(huì)影響性能了.

首先每個(gè)函數(shù)都是對(duì)象,對(duì)象就會(huì)占用很多內(nèi)存.內(nèi)存中的對(duì)象越多,性能就越差.

其次,dom訪問(wèn)次數(shù)增多,就會(huì)導(dǎo)致延遲加載頁(yè)面.事實(shí)上,從如何來(lái)利用好事件處理程序,還是有很好的解決方案的.

事件委托:

對(duì)事件處理程序過(guò)多的問(wèn)題解決的方案就是事件委托技術(shù).

事件委托技術(shù)利用了事件冒泡.只需指定一個(gè)事件處理程序.

我們可以為某個(gè)需要觸發(fā)事件的父元素來(lái)綁定事件處理程序.

<ul id="mylist">    
  <li id="li_1">sdsdsd</li>    
  <li id="li_2">sdsdsd</li>    
  <li id="li_3">sdsdsd</li>
</ul>

現(xiàn)在我們要為這3個(gè)li綁定事件處理程序..

只需要在ul綁定事件處理程序.

obj.eventHandler($("mylist"),"click",function(e){
  e = e || window.event;
  switch(e.target.id){
//大家應(yīng)該還記得target是事件目標(biāo),
//只要點(diǎn)擊了事件的目標(biāo)元素就會(huì)彈出相應(yīng)的alert.
 case "li_1":
 alert("li_1");
 break;
 case "li_2":
 alert("li_2");
 break;
 case "li_3":
 alert("li_3");
 break
  }
})

如果在一個(gè)復(fù)雜的web應(yīng)用程序中,.這種事件委托是非常實(shí)用的.

如果不采用這種方式的話,一個(gè)一個(gè)去綁定那就是數(shù)不清的事件處理程序.

希望本文所述對(duì)大家的javascript程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評(píng)論