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) 在選擇元素上綁定一個或多個事件的事件處理函數

差別:

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

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

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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM