jquery中關(guān)于bind()方法的使用技巧分享
.bind()方法可使用.on()方法來代替
on()
方法提高代碼易讀性,如下
$("input").bind("click", { foo: "hello" }, handler); $("input").on("click", { foo: "hello" }, handler);
bind()
綁定事件的時候,這些元素必須已經(jīng)存在,而on()
可以處理類似于代理這樣的東東,也就是說不存在的元素(動態(tài)生成的元素也可以處理),如下動態(tài)生成的 To do list ,再雙擊刪除,可使用on()
輕松完成,你會發(fā)現(xiàn),on換成bind是不行的。
<input type="text" id="str"> <button id="btn">添加</button> <h3>To do list</h3> <ul></ul>
$(document).ready(function(){ $('#btn').on('click',function(){ var str = $('#str').val(); $('<li>').text(str).appendTo('ul'); $('#str').val(''); }) //To do list雙擊刪除 $(document).on('dblclick','li',function(){ $(this).remove(); }) });
on()
事件綁定的妙用:我們經(jīng)常要在網(wǎng)頁里面處理大量的表格,假設(shè)表格有1000行,如果為每個tr都綁定一個click事件是非常占用內(nèi)存的,而更加優(yōu)雅的方法是:使用父元素tbody作事件代理,只需綁定一次,子孫元素tr上發(fā)生的事件會冒泡到tbody進(jìn)行處理,節(jié)省開銷
//效率低下的寫法 $( "#dataTable tbody tr" ).on( "click", function() { \…… //換成優(yōu)雅高效滴 $( "#dataTable tbody" ).on( "click", "tr", function() { \……
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章
jquery eval解析JSON中的注意點(diǎn)介紹
在JS中將JSON的字符串解析成JSON數(shù)據(jù)格式,一般有兩種方式:使用eval()函數(shù)、使用Function對象來進(jìn)行返回解析,下面有個示例,感興趣的朋友可以參考下2013-08-08Jquery操作下拉框(DropDownList)實(shí)現(xiàn)取值賦值
Jquery操作下拉框(DropDownList)想必大家都有所接觸吧,下面與大家分享下對DropDownList進(jìn)行取值賦值的實(shí)現(xiàn)代碼2013-08-08將jquery.qqFace.js表情轉(zhuǎn)換成微信的字符碼
這篇文章主要介紹了將jquery.qqFace.js表情轉(zhuǎn)換成微信的字符碼的方法,以及jquery.qqface.js的使用方法,需要的朋友可以參考下2017-12-12jQuery插件實(shí)現(xiàn)屏蔽單個元素使用戶無法點(diǎn)擊
屏蔽單個元素使用戶無法點(diǎn)擊在某些特殊的情況下還是蠻有用的,例如及不舉了,感興趣的朋友可以參考下,希望可以幫助到你2013-04-04jQuery實(shí)現(xiàn)控制文字內(nèi)容溢出用省略號(…)表示的方法
這篇文章主要介紹了jQuery實(shí)現(xiàn)控制文字內(nèi)容溢出用省略號(…)表示的方法,涉及jQuery針對字符串及樣式操作相關(guān)技巧,需要的朋友可以參考下2016-02-02讓新消息在網(wǎng)頁標(biāo)題閃爍提示的jQuery代碼
可能有一些站長會注意到這樣的效果,到收到的新消息會閃爍標(biāo)題提示,那么新消息在網(wǎng)頁標(biāo)題閃爍顯示的效果如何實(shí)現(xiàn),下面有個不錯的示例,感興趣的朋友可以參考下2013-11-11詳解jQuery的animate動畫方法及動畫排隊(duì)問題解決
這篇文章主要介紹了jQuery的animate動畫方法及動畫排隊(duì)問題解決的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用jQuery,感興趣的朋友可以了解下2021-05-05