Javascript函數中的arguments.callee用法實例分析
733
2024-02-18
最近發現jQuery一個對象的事件可以重復綁定多次,當事件觸發的時候會引起代碼多遍執行。
下面是一個click事件被重復綁定的示例:
function reg_button_click(){ $("#button).click(function(){ alert("button click"); }); } $(document).ready(function(){ #重復注冊3次 reg_button_click(); reg_button_click(); reg_button_click(); #觸發的時候 出現3個alert $('#button').click(); });
下面給出解決方法:
對于需要重復綁定的場景,再事件注冊時候考慮用先unbind 再bind的方法;或者先off 再on
function reg_button_click(){ $("#button).unbind('click').bind('click',(function(){ alert("button click"); }); } $(document).ready(function(){ #重復注冊3次 reg_button_click(); reg_button_click(); reg_button_click(); #觸發的時候 出現3個alert $('#button').click(); });
那jQuery綁定事件的實現方式有哪些,下面就為大家分享jQuery綁定事件的方法,供大家參考,具體內容如下
<html> <head> <meta charset="utf-8" /> <script src="http://libs.baidu.com/jquery/1.9.0/jquery.js"></script><百度CDN--> </head> <body> <input type="text"/> <input type="button" value="button1"/> <script> $(function(){ var text = $(":text"); var button = $(":button"); //調試器記錄日志 console.log("message"); 如:火狐瀏覽器,打開FireBug(按F12) //觸發單個事件:兩種方式 button.bind("mouseover",function(){ console.log("移入"); }); button.bind({ "mouseout": function(){ console.log("移出"); } }); //多個事件:三個方式 text.bind("dblclick blur",function(){ console.log("雙擊或者失去焦點"); }); text.bind({ "dblclick blur":function(){ console.log("雙擊或者失去焦點"); } }); text.bind({ "dblclick":function(){ console.log("雙擊"); }, blur:function(){ console.log("失去焦點"); } }); //取消事件 text.unbind("dblclick"); //取消單個事件 //text.unbind("dblclick blur"); //取消多個事件 //text.unbind(); //取消全部事件 }); </script> </body> </html>
以上就是本文的全部內容,希望對大家學習jQuery程序設計有所幫助。
#免責聲明#
本站[綠夏技術導航]提供的一切軟件、教程和內容信息僅限用于學習和研究目的;不得將上述內容用于商業或者非法用途,否則,一切后果請用戶自負。本站信息來自網絡收集整理,版權爭議與本站無關。您必須在下載后的24個小時之內,從您的電腦或手機中徹底刪除上述內容。如果您喜歡該程序或內容,請支持正版,購買注冊,得到更好的正版服務。我們非常重視版權問題,如有侵權請郵件[admin@lxwl520.com]與我們聯系進行刪除處理。敬請諒解!