分享jQuery的3種常見事件監(jiān)聽方式
前言:
在 Web 頁面經(jīng)常會有各種事件發(fā)生,事件發(fā)生后需要進行一些特定處理,即執(zhí)行特定的函數(shù)或者語句。這就需要對事件進行監(jiān)聽,監(jiān)聽事件的常見方式有以下三種,本文將通過實例來具體介紹。
1.HTML標簽內(nèi)聯(lián)事件
實例1:單擊頁面 "Hello" 按鈕,彈出提示框顯示 Hello world!
<!doctype html> <html> <head> <meta charset="utf-8"> <title>無標題文檔</title> </head> <body> <button onclick="alert('Hello world!')">Hello</button> </body> </html>
注:在實例1中,事件的監(jiān)聽代碼是放在 HTML 標簽中,這種方式看起來比較直觀,但是這是一種不大提倡的事件監(jiān)聽方式。首先,將視圖代碼(HTML)與交互代碼(Javascript
)相結(jié)合,意味著每當需要更新功能時,都必須編輯 HTML,這將給代碼后期的維護帶來很大麻煩。其次,它不具備可擴展性。如果我們要將這個單擊功能附加到許多按鈕上,那么不僅要用一堆重復(fù)的代碼來增加頁面量,而且還會破壞可維護性
。
2.用JavaScript實現(xiàn)事件監(jiān)聽
實例2:單擊頁面"Hello"按鈕,彈出提示框顯示Hello world!
<!doctype html> <html> <head> <meta charset-"utf-8"> <title>無標題文檔</title> <script type="text/javascript"> window.onload = function { var helloBtn = document.getElementByld("helloBtn"); ? ? ? ? ? ? ? ? helloBtn.onclick = function() { ? ? ? ? ? ? ? ? ? alert("Hello world!"); ? ? ? ? ? ? } ? ? ? } </script> </head> <body> <button id="helloBtn">Hello</button> </body> </html>
3.用jQuery實現(xiàn)事件監(jiān)聽
使用jQuery
監(jiān)聽事件有很多種方法,如實例3所示。
實例3:單擊頁面 "Hello" 按鈕,彈出提示框顯示 Hello world!
<!doctype html> <html> <head> <meta charset="utf-8"> <title>無標題文檔</title> <script src="jquery-3.3.1.js"></script> <script type="text/javascript"> $(function() { //jQuery第一種監(jiān)聽事件方法 $("#helloBtn").click(function() { alert("Hello world!"); }); //jQuery第二種監(jiān)聽事件方法 $("#helloBtn").bind("click",function() { alert("Hello world!"); }); //jQuery第三種監(jiān)聽事件方法 $("#helloBtn").on("click",function() { alert("Hello world!"); }); //jQuery第四種監(jiān)聽事件方法 $("body").on({ click: function() { alert("Hello world!"); } }, "button"); //jQuery第五種監(jiān)聽事件方法 $("pody").on("click", "button", function() { alert("Hello world!"); }); }); </script> </head> <body> <button id="helloBtn">Hello</button> </body> </html>
注:下面具體分析實例3中用到的 jQuery
事件監(jiān)聽方法。
(1)第一種事件監(jiān)聽方法click()
,是一種比較常見的、便捷的事件監(jiān)聽方法。
(2)第二種事件監(jiān)聽方法bind(),已被jQuery 3.0棄用。自jQuery 1.7以來被 on() 方法(即第三種事件監(jiān)聽方法)所取代,雖然在這里也能使用且不報錯,而且此方法之前比較常見,但是不鼓勵使用它。
(3)第三種事件監(jiān)聽方法on(),從jQuery 1.7開始,所有的事件綁定方法最后都是調(diào)用on() 方法來實現(xiàn)的,使用on() 方法實現(xiàn)事件監(jiān)聽會更快、更具一致性。
(4)第四種和第五種方法,監(jiān)聽的是 body 上所有 button
元素的 click 事件。DOM 樹里更高層的一個元素監(jiān)聽發(fā)生在它的 children 元素上的事件,這個過程叫作事件委托(event delegation)。感興趣的讀者可以查看官方幫助文檔。
到此這篇關(guān)于分享jQuery3種常見事件的監(jiān)聽方式的文章就介紹到這了,更多相關(guān)jQuery監(jiān)聽方式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
jQuery調(diào)用WebService的實現(xiàn)代碼
jQuery調(diào)用WebService的實現(xiàn)代碼,需要的朋友可以參考下。2011-06-06淺談ajax在jquery中的請求和servlet中的響應(yīng)
下面小編就為大家分享一篇淺談ajax在jquery中的請求和servlet中的響應(yīng),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01基于jquery的選擇標簽至文本域效果,可多選/可過濾重復(fù)/可限制個數(shù)的實現(xiàn)代碼
選擇標簽至表單域插件, 基于jQuery, 可多選/可過濾重復(fù)/可限制個數(shù). 是以前的項目中用到過的一個項目, 當初是用原生js東拼西湊的, 用jQuery重寫了下,已封裝成插件.2010-11-11jQuery實現(xiàn)類似標簽風格的導(dǎo)航菜單效果代碼
這篇文章主要介紹了jQuery實現(xiàn)類似標簽風格的導(dǎo)航菜單效果代碼,涉及jquery鼠標事件操作頁面元素的遍歷與樣式動態(tài)修改技巧,具有一定參考借鑒價值,需要的朋友可以參考下2015-08-08