jquery中click等事件綁定及移除的幾種方法小結(jié)
綁定click事件
一:直接在html標簽里添加事件
HTML元素行間事件(這種寫法是JavaScript原生事件)
<input id="btn" type="button" value="點我" onclick="test();" /> <script> function test() { alert("行間事件"); } </script>
缺點:html與js緊密耦合
二:使用jq的click方法綁定
$("#btn").click(function(){ alert("jquery使用click綁定事件"); })
三:使用jq的bind方法綁定
$("#btn").bind("click",function(){ alert("jquery使用bind綁定事件"); })
四:使用jq的on方法綁定
$("#btn").on("click",function(){ alert("jquery使用on綁定事件"); })
五:使用jq的可綁定動態(tài)元素的on方法綁定
$("body").on("click","#btn", function () { alert("jquery使用on可綁定動態(tài)元素事件"); })
點擊按鈕,這五個事件都會執(zhí)行,執(zhí)行順序:1>2=3=4>5
其中行間事件onclick這種寫法的事件最先觸發(fā),其次是監(jiān)聽事件click方法綁定,這種寫法和寫法三的on方法、方法四的bind方法是相同的,他們?nèi)唛g的順序取決于代碼的順序,誰在前那么誰就先綁定,方法五也是使用了on方法,但是這種寫法可以給動態(tài)元素綁定事件,比如我們通過發(fā)送服務(wù)器請求動態(tài)加載到頁面的元素,加載后的元素默認是沒有綁定事件的,但是使用方法五可以成功為這種動態(tài)元素綁定事件,這種寫法其實是發(fā)生的事件委托,監(jiān)聽父元素body,然后代替子元素執(zhí)行click事件,所以是執(zhí)行順序在前面四種后。
移除click事件
方式一的移除:
<input id="btn" type="button" value="點我" onclick="test();" /> function test() { alert("行間事件"); }
這種寫法其實可以理解為:
<input id="btn" type="button" value="點我" /> /*點擊的時候執(zhí)行函數(shù)*/ document.getElementById("btn").onclick = test; /*定義函數(shù)*/ function test() { alert("行間事件"); }
一句話搞定
那么移除事件就很簡單了,一句代碼搞定:
document.getElementById("btn").onclick = null;
或者使用jq的方法移除
$("#btn").prop("onclick",null);
或
$("#jb51").removeAttr("onclick"); $('.ul_Address li a').removeAttr("onclick");
若使用多種寫法綁定多個click事件則移除所有的click事件:
$("#btn").prop("onclick",null).off("click");
寫法二、三、四的移除:
$("#btn").on("click",function(){ alert("jquery使用on綁定事件"); }) $("#btn").click(function(){ alert("jquery使用click綁定事件"); }) $("#btn").bind("click",function(){ alert("jquery使用bind綁定事件"); })
直接使用unbind方法
$("#btn").unbind("click");
使用off方法
$("#btn").off("click");
寫法五使用on綁定動態(tài)元素的移除:
這種寫法使用unbind無效,因為它綁定的對象是父元素body,那么需要用配對的函數(shù)off移除
$("body").off("click","#btn");
需要注意的是:事件委托寫法的解綁的元素需要與事件綁定的目標元素一致(即案例中body,#btn需要一一對應),否則不生效。
自 jQuery 版本 1.7 起,on() 方法是 bind()、live() 和 delegate() 方法的新的替代品;off() 方法是 unbind()、die() 和 undelegate() 方法的新的替代品。使用起來更方便,推薦使用。
其中關(guān)于off函數(shù)的參數(shù)說明如下:
/*如果不傳參,會移除所有的事件*/ $("#btn").off(); /*如果傳遞一個參數(shù),會移除這個類型的所有事件*/ $("#btn").off('click'); /*如果傳遞兩個參數(shù),則移除這兩個參數(shù)指定的事件*/ $("#btn").off('click',test);
jQuery怎么刪除點擊事件?
要刪除一個元素的點擊事件,可以使用jQuery的off()方法,該方法用于解除元素綁定的事件。
以下是一個示例代碼,其中包括了如何添加點擊事件和如何刪除點擊事件:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>刪除點擊事件示例</title> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script> <script> $(document).ready(function(){ // 給按鈕綁定一個點擊事件 $("#myBtn").on("click", function(){ alert("Hello World!"); }); // 給刪除按鈕綁定一個點擊事件 $("#deleteBtn").on("click", function(){ // 解除按鈕的點擊事件 $("#myBtn").off("click"); }); }); </script> </head> <body> <button id="myBtn">點擊我</button> <button id="deleteBtn">刪除點擊事件</button> </body> </html>
在上面的代碼中,首先使用on()方法給按鈕綁定了一個點擊事件,當用戶點擊按鈕時,會彈出一個消息框。
然后,又使用on()方法給另一個按鈕綁定了一個點擊事件,當用戶點擊這個按鈕時,會解除之前按鈕的點擊事件,從而實現(xiàn)了刪除點擊事件的效果。
到此這篇關(guān)于jquery中click等事件綁定及移除的幾種方法小結(jié)的文章就介紹到這了,更多相關(guān)jqueryclick事件綁定及移除內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- jQuery?事件綁定及取消?bind?live?delegate?on?one區(qū)別解析
- jquery事件綁定方法介紹
- jQuery事件綁定和解綁、事件冒泡與阻止事件冒泡及彈出應用示例
- jQuery實現(xiàn)的事件綁定功能基本示例
- jQuery的三種bind/One/Live/On事件綁定使用方法
- jQuery 全選 全不選 事件綁定的實現(xiàn)代碼
- jQuery事件綁定方法學習總結(jié)(推薦)
- jquery移除了live()、die(),新版事件綁定on()、off()的方法
- 關(guān)于Jquery中的事件綁定總結(jié)
- jquery事件綁定解綁機制源碼解析
- jQuery事件綁定用法詳解
- 深入理解jQuery事件綁定
- jQuery事件綁定on()與彈窗實現(xiàn)代碼
- jQuery事件綁定用法詳解(附bind和live的區(qū)別)
- jQuery實現(xiàn)按鈕只點擊一次后就取消點擊事件綁定的方法
- JQuery中DOM事件綁定用法詳解
- jQuery事件綁定on()、bind()與delegate() 方法詳解
- jQuery事件綁定與解除綁定實現(xiàn)方法
相關(guān)文章
js實現(xiàn)仿百度風云榜可重復多次調(diào)用的TAB切換選項卡效果
這篇文章主要介紹了js實現(xiàn)仿百度風云榜可重復多次調(diào)用的TAB切換選項卡效果,涉及javascript鼠標事件及頁面元素遍歷調(diào)用的實現(xiàn)技巧,非常簡單實用,需要的朋友可以參考下2015-08-08headjs實現(xiàn)網(wǎng)站并行加載但順序執(zhí)行JS
本文主要介紹如何使用head.js實現(xiàn)網(wǎng)站并行加載但順序執(zhí)行JS,提高網(wǎng)站加載速度。需要的朋友可以看下2016-11-11JS數(shù)組進階示例【數(shù)組的幾種函數(shù)用法】
這篇文章主要介紹了JS數(shù)組進階,結(jié)合實例形式總結(jié)分析了數(shù)組的幾種常見函數(shù)基本用法,涉及JavaScript數(shù)組元素刪除、拼接、添加、倒序排列等相關(guān)操作技巧,需要的朋友可以參考下2020-01-01JavaScript中“過于”犀利地for/in循環(huán)使用示例
Java中的增強for循環(huán)很是好用,但是JavaScript中為我們提供的for/in循環(huán)已然不是這么簡單了,下面有個簡單的示例,大家不妨參考下2013-10-10Uni-App用uView組件庫中u-picker實現(xiàn)地區(qū)的省-市-區(qū)三級聯(lián)動、確認及回顯
最近項目要使用uni-app遇到省市縣三級聯(lián)動的問題,下面這篇文章主要給大家介紹了關(guān)于Uni-App用uView組件庫中u-picker實現(xiàn)地區(qū)的省-市-區(qū)三級聯(lián)動、確認及回顯的相關(guān)資料,需要的朋友可以參考下2023-12-12