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