国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

JavaScript事件冒泡、事件捕獲和阻止默認(rèn)事件代碼示例

來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 20:24:05
文檔

JavaScript事件冒泡、事件捕獲和阻止默認(rèn)事件代碼示例

JavaScript事件冒泡、事件捕獲和阻止默認(rèn)事件代碼示例:談起JavaScript的 事件,事件冒泡、事件捕獲、阻止默認(rèn)事件這三個話題,無論是面試還是在平時的工作中,都很難避免。冒泡篇先來看一段實例:js:var $input = document.getElementsByTagName("input")[0]; var $p = d
推薦度:
導(dǎo)讀JavaScript事件冒泡、事件捕獲和阻止默認(rèn)事件代碼示例:談起JavaScript的 事件,事件冒泡、事件捕獲、阻止默認(rèn)事件這三個話題,無論是面試還是在平時的工作中,都很難避免。冒泡篇先來看一段實例:js:var $input = document.getElementsByTagName("input")[0]; var $p = d

談起JavaScript的 事件,事件冒泡、事件捕獲、阻止默認(rèn)事件這三個話題,無論是面試還是在平時的工作中,都很難避免。

冒泡篇

先來看一段實例:

js:

var $input = document.getElementsByTagName("input")[0];
 var $p = document.getElementsByTagName("p")[0];
 var $body = document.getElementsByTagName("body")[0];

 $input.onclick = function(e){
 this.style.border = "5px solid red"
 var e = e || window.e;
 alert("red")
 }
 $p.onclick = function(e){
 this.style.border = "5px solid green"
 alert("green")
 }
 $body.onclick = function(e){
 this.style.border = "5px solid yellow"
 alert("yellow")
 }

html:

<p>
 <input type="button" value="測試事件冒泡" />
 </p>

依次彈出”red“,”green”,”yellow”。

你的本意是觸發(fā)button這個元素,卻連同父元素綁定的事件一同觸發(fā)。這就是事件冒泡。

如果對input的事件綁定改為:

$input.onclick = function(e){
 this.style.border = "5px solid red"
 var e = e || window.e;
 alert("red")
 e.stopPropagation();
}

這個時候只會彈出”red“

因為阻止了事件冒泡。

捕獲篇

既然有事件的冒泡,也可以有事件的捕獲,這是一個相反的過程。區(qū)別是從頂層元素到目標(biāo)元素或者從目標(biāo)元素到頂層元素。

來看代碼:

$input.addEventListener("click", function(){
 this.style.border = "5px solid red";
 alert("red")
}, true)
$p.addEventListener("click", function(){
 this.style.border = "5px solid green";
 alert("green")
}, true)
$body.addEventListener("click", function(){
 this.style.border = "5px solid yellow";
 alert("yellow")
}, true)

這個時候依次彈出”yellow“,”green”,”red”。

這就是事件的捕獲。

如果把a(bǔ)ddEventListener方法的第三個參數(shù)改成false,則表示只在冒泡的階段觸發(fā),彈出的依次為:”red“,”green”,”yellow”。

阻止默認(rèn)事件篇

有一些html元素默認(rèn)的行為,比如說a標(biāo)簽,點擊后有跳轉(zhuǎn)動作;form表單中的submit類型的input有一個默認(rèn)提交跳轉(zhuǎn)事件;reset類型的input有重置表單行為。

如果你想阻止這些瀏覽器默認(rèn)行為,JavaScript為你提供了方法。

先上代碼

var $a = document.getElementsByTagName("a")[0];
$a.onclick = function(e){
 alert("跳轉(zhuǎn)動作被我阻止了")
 e.preventDefault();
 //return false;//也可以
}

<a href="http://www.nipic.com">昵圖網(wǎng)</a>

默認(rèn)事件沒有了。

既然return false 和 e.preventDefault()都是一樣的效果,那它們有區(qū)別嗎?當(dāng)然有。

僅僅是在HTML事件屬性 和 DOM0級事件處理方法中 才能通過返回 return false 的形式組織事件宿主的默認(rèn)行為。

注意:以上都是基于W3C標(biāo)準(zhǔn),沒有考慮到IE的不同實現(xiàn)。

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

JavaScript事件冒泡、事件捕獲和阻止默認(rèn)事件代碼示例

JavaScript事件冒泡、事件捕獲和阻止默認(rèn)事件代碼示例:談起JavaScript的 事件,事件冒泡、事件捕獲、阻止默認(rèn)事件這三個話題,無論是面試還是在平時的工作中,都很難避免。冒泡篇先來看一段實例:js:var $input = document.getElementsByTagName("input")[0]; var $p = d
推薦度:
標(biāo)簽: 事件 默認(rèn) js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 日本免费一区尤物 | 国产精品久久久久… | 国产欧美日韩在线观看 | 亚洲欧美日韩在线观看二区 | 国产成人免费视频精品一区二区 | 在线播放国产色视频在线 | 一本久久道 | 亚洲精品综合 | 欧美 亚洲 校园 第一页 | 亚洲综合欧美日本另类激情 | 欧美精品免费在线 | 一区二区三区欧美视频 | 欧美日韩综合 | 亚洲一二三区在线观看 | 国产成人精品三级在线 | 久久国产精品视频 | 欧美日韩综合精品一区二区三区 | 国产精品亚洲欧美一区麻豆 | 一区二区免费播放 | 国产三级一区二区 | 欧美啊v在线观看 | 亚洲精品国产自在久久出水 | 亚洲欧美网址 | 亚洲自拍另类 | 国产日韩欧美亚洲综合在线 | 国产日韩欧美第一页 | 国产精品久久久久9999小说 | 国产精品视频不卡 | 国产精品欧美一区二区三区 | 亚洲第一免费视频 | 欧美成人免费高清二区三区 | 午夜视频网 | 91精品观看91久久久久久 | 91精品一区二区三区在线观看 | 午夜欧美性视频在线播放 | 国产精品视频一区二区三区不卡 | 成人区精品一区二区毛片不卡 | 91精品久久久久久久久网影视 | 欧美试看| 精品免费久久久久国产一区 | 免费高清欧美大片在线观看 |