jQuery事件多次綁定與解綁問(wèn)題實(shí)例分析
本文實(shí)例分析了jQuery事件多次綁定與解綁問(wèn)題。分享給大家供大家參考,具體如下:
jQuery事件綁定很常見(jiàn),相信大家經(jīng)常會(huì)用到click、focus、blur等事件,但是如果對(duì)控件的某個(gè)事件綁定多個(gè)方法會(huì)是怎樣的結(jié)果呢,覆蓋、累加、或其他效果?今天我就來(lái)驗(yàn)證一下這個(gè)疑問(wèn)并說(shuō)說(shuō)如何解綁。
一、jQuery事件多次綁定
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
//第二次綁定
$("#btnAdd").click(function () {
alert("bind click1");
});
//第三次綁定
$("#btnAdd").on("click", function () {
alert("bind click2");
});
//第四次綁定
$("#btnAdd").bind("click", function () {
alert("bind click3");
});
});
function add1() {
alert("add1()");
}
</script>
</head>
<body>
<h2>UserController->Index</h2>
<!--第一次綁定-->
<input type="button" id="btnAdd" name="btnAdd" value="Add" onclick="add1()" />
</body>
驗(yàn)證結(jié)果:對(duì)控件的某個(gè)事件進(jìn)行多次綁定效果會(huì)疊加,截圖如下:

二、jQuery事件解綁
既然能綁定事件,那應(yīng)該也能對(duì)事件解綁,下面展示解綁的方法:
<head>
<script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$("#btnAdd").click(function () {
alert("bind click1");
});
$("#btnAdd").on("click", add2);
$("#btnAdd").bind("click", add3);
});
function add1() {
alert("add1()");
}
function add2() {
alert("bind click2");
}
function add3() {
alert("bind click3");
}
function cancelBind() {
//不指定方法名則解綁click事件對(duì)應(yīng)的所有方法,標(biāo)簽內(nèi)onclick設(shè)置的方法仍會(huì)執(zhí)行
//$("#btnAdd").off("click");
//$("#btnAdd").unbind("click");
//解綁click事件對(duì)應(yīng)的add2方法
$("#btnAdd").off("click", add2);
//$("#btnAdd").unbind("click", add3);
}
</script>
</head>
<body>
<h2>UserController->CancelBind</h2>
<input type="button" id="btnAdd" name="btnAdd" value="Add" onclick="add1()" />
<input type="button" id="btnCancelBind" name="btnCancelBind" value="CancelBind" onclick="cancelBind()" />
</body>
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運(yùn)行工具:http://tools.jb51.net/code/HtmlJsRun測(cè)試上述代碼運(yùn)行效果。
更多關(guān)于jQuery相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《jQuery常見(jiàn)事件用法與技巧總結(jié)》、《jQuery常用插件及用法總結(jié)》、《jQuery操作json數(shù)據(jù)技巧匯總》、《jQuery擴(kuò)展技巧總結(jié)》、《jQuery常見(jiàn)經(jīng)典特效匯總》及《jquery選擇器用法總結(jié)》
希望本文所述對(duì)大家jQuery程序設(shè)計(jì)有所幫助。
- 淺談jQuery的bind和unbind事件(綁定和解綁事件)
- jquery事件綁定解綁機(jī)制源碼解析
- JQuery給元素綁定click事件多次執(zhí)行的解決方法
- jQuery 通過(guò)事件委派一次綁定多種事件,以減少事件冗余
- 淺析jQuery事件之on()方法綁定多個(gè)選擇器,多個(gè)事件
- jQuery使用bind函數(shù)實(shí)現(xiàn)綁定多個(gè)事件的方法
- Jquery on方法綁定事件后執(zhí)行多次的解決方法
- jQuery綁定事件-多種實(shí)現(xiàn)方式總結(jié)
- jQuery移除元素自動(dòng)解綁事件實(shí)現(xiàn)思路及代碼
相關(guān)文章
jQuery手動(dòng)點(diǎn)擊實(shí)現(xiàn)圖片輪播特效
這篇文章主要為大家詳細(xì)介紹了jQuery手動(dòng)點(diǎn)擊實(shí)現(xiàn)圖片輪播特效,手動(dòng)點(diǎn)擊數(shù)字卡片實(shí)現(xiàn)圖片輪播,對(duì)圖片輪播感興趣的小伙伴們可以參考一下2015-12-12
jquery插件開(kāi)發(fā)之選項(xiàng)卡制作詳解
這篇文章主要為大家詳細(xì)介紹了jquery插件開(kāi)發(fā)之選項(xiàng)卡制作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-08-08
淺談如何實(shí)現(xiàn)easyui的datebox格式化
這篇文章主要和大家一起聊一聊如何實(shí)現(xiàn)easyui的datebox格式化的方法,感興趣的小伙伴們可以參考一下2016-06-06
TimergliderJS 一個(gè)基于jQuery的時(shí)間軸插件
Timeglider JS是一個(gè)由javascript支持縮放,數(shù)據(jù)驅(qū)動(dòng)的時(shí)間軸組件。非常適合顯示項(xiàng)目歷史,項(xiàng)目計(jì)劃及其其它需要顯示歷史的項(xiàng)目2011-12-12
jquery ajax結(jié)合thinkphp的getjson實(shí)現(xiàn)跨域的方法
這篇文章主要介紹了jquery ajax結(jié)合thinkphp的getjson實(shí)現(xiàn)跨域的方法,結(jié)合實(shí)例形式對(duì)比分析了jQuery ajax實(shí)現(xiàn)跨域的具體操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06
Jquery知識(shí)點(diǎn)一 Jquery的ready和Dom的onload的區(qū)別
onload是所有dom元素創(chuàng)建完畢,圖片、css等都加在完畢后才觸發(fā) ready則是dom元素創(chuàng)建完畢后就被觸發(fā)2011-01-01
jquery實(shí)現(xiàn)的一個(gè)文章自定義分段顯示功能
基于jquery實(shí)現(xiàn)的文章自定義分段顯示,如果文章內(nèi)容太多的話轉(zhuǎn)換有點(diǎn)慢,大家若喜歡的話,可以參考下2014-05-05

