JavaScript三種綁定事件方式及相互之間的區(qū)別分析
本文實(shí)例講述了JavaScript三種綁定事件方式及相互之間的區(qū)別。分享給大家供大家參考,具體如下:
JavaScript三種綁定事件的方式:
1.
<div id="btn" onclick="clickone()"></div> //直接在DOM里綁定事件
<script>
function clickone(){ alert("hello"); }
</script>
2.
<div id="btn"></div>
<script>
document.getElementById("btn").onclick = function(){ alert("hello"); } //腳本里面綁定
</script>
3.
<div id="btn"></div>
<script>
document.getElementById("btn").addeventlistener("click",clickone,false); //通過偵聽事件處理相應(yīng)的函數(shù)
function clickone(){ alert("hello"); }
</script>
那么問題來了,1 和 2 的方式是我們經(jīng)常用到的,那么既然已經(jīng)有兩種綁定事件的方法為什么還要有第三種呢?答案是這樣的:
用 "addeventlistener" 可以綁定多次同一個事件,且都會執(zhí)行,而在DOM結(jié)構(gòu)如果綁定兩個 "onclick" 事件,只會執(zhí)行第一個;在腳本通過匿名函數(shù)的方式綁定的只會執(zhí)行最后一個事件。
1.
<div id="btn" onclick="clickone()" onclick="clicktwo()"></div>
<script>
function clickone(){ alert("hello"); } //執(zhí)行這個
function clicktwo(){ alert("world!"); }
</script>
2.
<div id="btn"></div>
<script>
document.getElementById("btn").onclick = function(){ alert("hello"); }
document.getElementById("btn").onclick = function(){ alert("world"); } //執(zhí)行這個
</script>
3.
<div id="btn"></div>
<script>
document.getElementById("btn").addeventlistener("click",clickone,false);
function clickone(){ alert("hello"); } //先執(zhí)行
document.getElementById("btn").addeventlistener("click",clicktwo,false);
function clicktwo(){ alert("world"); } //后執(zhí)行
</script>
以上;可根據(jù)場景靈活選擇。
PS:關(guān)于javascript常用事件及相關(guān)說明還可參考本站在線工具:
javascript事件與功能說明大全:
http://tools.jb51.net/table/javascript_event
更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript事件相關(guān)操作與技巧大全》、《JavaScript時間與日期操作技巧總結(jié)》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運(yùn)算用法總結(jié)》
希望本文所述對大家JavaScript程序設(shè)計有所幫助。
相關(guān)文章
用javascript實(shí)現(xiàn)讀取txt文檔的腳本
用javascript實(shí)現(xiàn)讀取txt文檔的腳本...2007-07-07
javascript實(shí)現(xiàn)十六進(jìn)制顏色值(HEX)和RGB格式相互轉(zhuǎn)換
這篇文章主要介紹了javascript實(shí)現(xiàn)十六進(jìn)制顏色值(HEX)和RGB格式之間的轉(zhuǎn)換,使用正則的方法實(shí)現(xiàn)RGB顏色轉(zhuǎn)換為16進(jìn)制,需要的朋友可以參考下2014-06-06
HTML+CSS+JS實(shí)現(xiàn)完美兼容各大瀏覽器的TABLE固定列
本文給大家分享的是使用HTML+CSS+JS實(shí)現(xiàn)完美兼容各大瀏覽器的TABLE固定列的方法和示例,非常的實(shí)用,特別是在BS架構(gòu)的企業(yè)級應(yīng)用,有需要的小伙伴可以參考下。2015-04-04
(JS實(shí)現(xiàn))MapBar中坐標(biāo)的加密和解密的腳本
(JS實(shí)現(xiàn))MapBar中坐標(biāo)的加密和解密的腳本...2007-05-05
利用CSS、JavaScript及Ajax實(shí)現(xiàn)高效的圖片預(yù)加載
圖片預(yù)加載想必大家都不陌生吧,實(shí)現(xiàn)預(yù)加載圖片有很多方法,包括使用CSS、JavaScript及兩者的各種組合。這些技術(shù)可根據(jù)不同設(shè)計場景設(shè)計出相應(yīng)的解決方案,十分高效2013-10-10

