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進行處理,節(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表單驗證插件(jquery.validate.js)的3種使用方式
這篇文章主要介紹了jquery表單驗證插件(jquery.validate.js)的3種使用方式,本文用詳細的代碼實例講解jquery表單驗證插件的使用,需要的朋友可以參考下2015-03-03
超棒的響應(yīng)式布局jQuery插件Freetile.js
隨著頁面扁平化的普及,越來越多的網(wǎng)站都開始使用響應(yīng)式布局,作為一個優(yōu)秀的前端工作者,必須要精通的,這里給大家推薦一款響應(yīng)式布局的jQuery插件。2014-11-11
基于jquery實現(xiàn)狀態(tài)限定編輯的代碼
基于jquery實現(xiàn)狀態(tài)限定編輯的代碼,需要的朋友可以參考下2012-02-02

