js事件處理程式
首先,為什麼要用事件委託,用一段**解釋下:
如上面**,如果要新增事件處理程式,我們一般做法是,給list1、list2、list3這個3個li元素分別新增事件處理程式,但是有沒有想過,如果元素很多呢,我們還是一直用這樣的方法新增嗎?當然是不可能的,這樣子,非累死程式設計師不可
這個時候事件委託就出現了,神一般的存在,解決了這一問題。
事件委託:利用事件冒泡這一特性,指定乙個事件處理程式,管理這一類的所有事件,在他的父元素或更高元素設定事件處理程式,將子元素事件委託給父元素事件。達到省時省力的效果。
接下來用**說明怎樣使用事件委託
html**:
event.js**:
deal.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)
};
接下來,幾時測試時間了,我分別在ie7以上,chrome,firefox都測試過,可以/**
* created by ys on 2015/5/11.
*/window.onload = function()
});};
JavaScript事件委託
事件委託就是利用冒泡的原理,把事件加到父級上,通過判斷事件 的子集,執行相應的操作,事件委託首先可以極大減少事件繫結次數,提高效能 其次可以讓新加入的子元素也可以擁有相同的操作。一般繫結事件的寫法 function 事件委託的寫法 function 事件委託就是利用冒泡的原理,把事件加到父級上,通過...
委託是不是事件,方法 事件 委託。
委託不是事件。拿button控制項舉例。先初始化乙個新的button例項。在這裡可以看到click contextmenuclosing等等這些都是事件。在進入buttonbase中可以看到 在宣告事件時是有呼叫到routedeventhandler 路由事件處理處理程式 可以看到routedeve...
委託和事件
主要過程如下 1.在後台 中,我們可以定義處理程式方法alartrang 2.然後定義委託,引用到處理程式方法的例項。3.最後將委託新增到事件中。從而,引發事件時就會呼叫相關的事件處理方法。若要使用在另乙個類中定義的事件,必須定義和註冊乙個事件處理程式。事件 處理程式必須具有與為事件宣告的委託相同的...