jQuery中bind() live() delegate() on() 的區別

實例

bind(type,[data],fn) 爲每一個匹配元素的特定事件綁定事件處理函數函數

$("a").bind("click",function(){alert("ok");});

live(type,[data],fn) 給全部匹配的元素附加一個事件處理函數,即便這個元素是之後再添加進來的性能

$("a").live("click",function(){alert("ok");});

delegate(selector,[type],[data],fn) 指定的元素(屬於被選元素的子元素)添加一個或多個事件處理程序,並規定當這些事件發生時運行的函數代理

$("#container").delegate("a","click",function(){alert("ok");})

on(events,[selector],[data],fn) 在選擇元素上綁定一個或多個事件的事件處理函數code

差異:

.bind()是直接綁定在元素上事件

.live()則是經過冒泡的方式來綁定到元素上的。更適合列表類型的,綁定到document DOM節點上。和.bind()的優點是支持動態數據。io

.delegate()則是更精確的小範圍使用事件代理,性能優於.live()event

.on()則是最新的1.9版本整合了以前的三種方式的新事件綁定機制function

相關文章
相關標籤/搜索