關(guān)于JavaScript中事件綁定的方法總結(jié)
最近收集了一些關(guān)于JavaScript綁定事件的方法,匯總了一下,不全面,但是,希望便于以后自己查看。
JavaScript中綁定事件的方法主要有三種:
1 在DOM元素中直接綁定
2 JavaScript代碼中直接綁定
3 綁定事件監(jiān)聽函數(shù)
一、在DOM元素中直接綁定
也就是直接在html標(biāo)簽中通過 onXXX=“” 來綁定。舉個(gè)例子:
<input type="button" value="點(diǎn)我呦" onclick="alert("hello world!")"/> <!--或者--> <input type="button" value="點(diǎn)我呦" onclick="testAlert()"> <script type="text/javascript"> function testAlert(){ alert("hello world!"); } </script>
二、JavaScript代碼中直接綁定
在JavaScript中通過查找DOM對(duì)象,對(duì)其綁定,elementObject.onclick=function(){} 的格式,舉例如下:
<input type="button" value="點(diǎn)我呦" id="demo"> <script type="text/javascript"> document.getElementById("demo").onclick=function testAlert(){ alert("hello world!"); } </script>
三、綁定事件監(jiān)聽函數(shù)
這里需要了解addEventListener()和attachEvent()的函數(shù)語(yǔ)法。
1 elementObject.addEventListener(eventName,handle,useCapture) (支持主流瀏覽器、以及IE9.0及以上)
eventName:要綁定的事件名稱。注意寫法,比如點(diǎn)擊事件,寫成click,而不是onclick.
handle: 處理事件的函數(shù)名。但是寫法上沒有小括號(hào)。
useCapture:Boolean類型,是否使用捕獲,一般用false,具體涉及到的會(huì)在后邊總結(jié)。
2 elementObject.attachEvent(eventName,handle);(僅支持IE8及以下)
從網(wǎng)上找到了一個(gè)兼容的好辦法,相比較if。。else語(yǔ)句,這個(gè)方法用的是try..catch錯(cuò)誤處理語(yǔ)句,可以避免瀏覽器出現(xiàn)錯(cuò)誤提示。
function addEvent(obj,type,handle){ try{ obj.addEventListener(type,handle,false); }catch(e){ try{ obj.attachEvent('on'+type,handle); } catch(e){ obj['on' + type]=handle;//早期瀏覽器 } } }
四、說說JQuery中綁定事件的幾種方法。
主要有on()、bind()、live()、delegate()等幾種,相對(duì)應(yīng)的解綁就是off()、unbind()、live()、undelegate();
1 on()、bind()、live()、delegate()中除了bind(),其他的都可以給后來追加的元素對(duì)象添加綁定事件。
2 這幾種方法中各自有對(duì)應(yīng)支持的JQuery版本。
3 在給動(dòng)態(tài)添加的頁(yè)面元素綁定事件時(shí),通常用on()方法。
以上就是小編為大家?guī)淼年P(guān)于JavaScript中事件綁定的方法總結(jié)全部?jī)?nèi)容了,希望大家多多支持腳本之家~
相關(guān)文章
JS獲取經(jīng)緯度并根據(jù)經(jīng)緯度得到城市信息簡(jiǎn)單示例
前端時(shí)間剛好使用了百度地圖的js api定位獲取用戶當(dāng)前經(jīng)緯度并獲取當(dāng)前詳細(xì)位置的功能,為了方便下次找起來方便一些自己在這里記錄一下,這篇文章主要給大家介紹了關(guān)于JS獲取經(jīng)緯度并根據(jù)經(jīng)緯度得到城市信息的相關(guān)資料,需要的朋友可以參考下2023-11-11拿捏javascript對(duì)象增刪改查應(yīng)用及示例
“撩過”c++的對(duì)象,“拿捏”了python的對(duì)象,那么今天我們看看javascript中的對(duì)象到底是什么,看能不能一次性拿下,不行的話就多來幾次,想做“海王”就多物色幾門語(yǔ)言的對(duì)象,多new幾個(gè),最終你會(huì)發(fā)現(xiàn)都差不多2022-03-03IE 上下滾動(dòng)展示模仿Marquee機(jī)制
最近要做一個(gè)大屏幕展示上下滾動(dòng)的列表,而IE自帶的Marquee,無法滿足需要,隨自己寫了一個(gè)滾動(dòng)機(jī)制,代碼在附件中2009-12-12javascript中加號(hào)(+)操作符的一些神奇作用
這篇文章主要介紹了javascript中加號(hào)(+)操作符的一些神奇作用,真的很神奇,例如加號(hào)可以轉(zhuǎn)換數(shù)據(jù)類型,可以把日期轉(zhuǎn)成整數(shù)等,需要的朋友可以參考下2014-06-06百度地圖API之百度地圖退拽標(biāo)記點(diǎn)獲取經(jīng)緯度的實(shí)現(xiàn)代碼
這篇文章主要介紹了百度地圖API之百度地圖退拽標(biāo)記點(diǎn)獲取經(jīng)緯度的實(shí)現(xiàn)代碼,需要的朋友可以參考下2017-01-01