1. 程式人生 > >Jquery 繫結事件方式比較

Jquery 繫結事件方式比較

兩個概念:

靜態繫結:只適用於當前元素,不適應未來的元素(比如由指令碼建立的新元素);
動態繫結:適用於當前及未來的元素。


1、在DOM元素中直接繫結
     該方法支援動態繫結。例如:<input type="button" value="點我" onclick="test()">。
2、$(selector).click(function(){})
     此種方式只能繫結靜態元素,不支援動態繫結元素。即頁面上元素有新新增的元素,繫結事件對新新增的原始不起作用;

3、$(selector).on(event,childSelector,data,function)
     自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品。該方法給 API 帶來很多便利,我們推薦使用該方法,它簡化了 jQuery 程式碼庫。使用on()方法在被選元素及子元素上新增一個或多個事件處理程式。

    on()方法的兩種使用方式:
     $(selector).on('click','li',function(){}):支援動態繫結元素(適用於當前及未來的元素,比如由指令碼建立的新元素),前提是selector須是目標繫結元素的父元素。
     $(selector).on('click',function(){}):直接繫結動態的li元素將不支援動態繫結,效果與$('').click()相同。
    
提示:如需移除事件處理程式,請使用 off() 方法。
如需新增只執行一次的事件然後移除,請使用 one() 方法。