最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在點(diǎn)擊div中的p時,如何阻止事件冒泡

 更新時間:2017年02月07日 10:35:15   作者:九九smile  
本文主要介紹了在點(diǎn)擊div中的p時,如何阻止事件冒泡的方法,具有很好的參考價值,下面跟著小編一起來看下吧

今天整理筆記,發(fā)現(xiàn)在學(xué)習(xí)javaScript的過程中,遇到過一個在當(dāng)時看來很棘手的問題,現(xiàn)在特地總結(jié)一下,也希望能幫助到曾像我一樣迷惘的初學(xué)者。

我還是以一個案例來說明問題,html代碼如下:

 <div onclick="show('a')">
   <p onclick="show('b')"></p>
 </div>

css代碼如下:

div{
  width:500px;
  height:500px;
  background:red;
 }
 p{
  width:200px;
  height:200px;
  background:blue;
 }

js代碼如下:

 function show(info){
    alert(info);
 }

稍微懂點(diǎn)js的人都知道當(dāng)我點(diǎn)擊p時,基于事件冒泡機(jī)制,會觸發(fā)父元素div的onclick事件,結(jié)果是先彈出b、再彈出a。

那么問題來了,如何修改show()這個函數(shù)而只彈出b?我第一次的解決方法是(各位大神勿噴):

function show(e,info){
 function cancelBubble(e){
  e = e || window.event;
  if (e.stopPropagation) {  
     e.stopPropagation(); 
  }else {   
     e.cancelBubble = true; 
  } 
 }
 alert(info);
}

結(jié)果老是報錯。我就開始各種百度,最終解決方法如下:

function show(info){
   alert(info);
   cancelBubble();
}
function cancelBubble(e) { 
   var evt = e ? e : window.event; 
    if (evt.stopPropagation) {  //W3C 
     evt.stopPropagation(); 
    }else {  //IE  
     evt.cancelBubble = true; 
    } 
}

至于為什么這樣?我分析的是這樣做有兩個好處:1.阻止了事件冒泡,達(dá)到只彈出b目的; 2.將阻止事件冒泡的代碼封裝成了一個函數(shù),可以多次調(diào)用。

好了,問題圓滿解決。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!

相關(guān)文章

  • JavaScript中Number對象的toFixed() 方法詳解

    JavaScript中Number對象的toFixed() 方法詳解

    下面小編就為大家?guī)硪黄狫avaScript中Number對象的toFixed() 方法詳解。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-09-09
  • JS/jquery實(shí)現(xiàn)一個網(wǎng)頁內(nèi)同時調(diào)用多個倒計時的方法

    JS/jquery實(shí)現(xiàn)一個網(wǎng)頁內(nèi)同時調(diào)用多個倒計時的方法

    這篇文章主要介紹了JS/jquery實(shí)現(xiàn)一個網(wǎng)頁內(nèi)同時調(diào)用多個倒計時的方法,涉及js與jQuery基于定時器的時間相關(guān)操作技巧,需要的朋友可以參考下
    2017-04-04
  • BootStrap Table對前臺頁面表格的支持實(shí)例講解

    BootStrap Table對前臺頁面表格的支持實(shí)例講解

    bootstrap-table是在bootstrap的基礎(chǔ)上面做了一些封裝,所以在使用bootstrap-table之前要導(dǎo)入的js和css,下面通過本文給大家詳細(xì)介紹需要引入的文件,對bootstrap table 表格感興趣的朋友一起看看吧
    2016-12-12
  • js實(shí)現(xiàn)一鍵復(fù)制功能

    js實(shí)現(xiàn)一鍵復(fù)制功能

    本文主要介紹了js實(shí)現(xiàn)一鍵復(fù)制功能的方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-03-03
  • JavaScript實(shí)現(xiàn)模塊拖拽功能的代碼示例

    JavaScript實(shí)現(xiàn)模塊拖拽功能的代碼示例

    這篇文章將給大家詳細(xì)介紹一下JavaScript實(shí)現(xiàn)模塊的拖拽功能的代碼示例,文中有詳細(xì)的實(shí)現(xiàn)步驟,需要的朋友可以參考下
    2023-07-07
  • ionic2懶加載配置詳解

    ionic2懶加載配置詳解

    本篇文章主要介紹了ionic2懶加載配置詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • nestjs實(shí)現(xiàn)圖形校驗和單點(diǎn)登錄的示例代碼

    nestjs實(shí)現(xiàn)圖形校驗和單點(diǎn)登錄的示例代碼

    本文主要介紹了nestjs實(shí)現(xiàn)圖形校驗和單點(diǎn)登錄的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • 理解javascript定時器中的setTimeout與setInterval

    理解javascript定時器中的setTimeout與setInterval

    這篇文章主要幫助大家學(xué)習(xí)理解javascript定時器中的setTimeout與setInterval,從實(shí)例出發(fā)進(jìn)行深入探討,感興趣的小伙伴們可以參考一下
    2016-02-02
  • preact組件案例的使用詳解

    preact組件案例的使用詳解

    SelectValue是一個Preact組件,用于創(chuàng)建一個下拉選擇框,它接收props如value、setfn、options和disabled,用于更新父組件中的值、處理下拉選擇框的值改變事件、顯示選項和禁用或啟用下拉選擇框,本文介紹preact組件案例的使用詳解,感興趣的朋友一起看看吧
    2025-03-03
  • javascript內(nèi)置對象Math案例總結(jié)分析

    javascript內(nèi)置對象Math案例總結(jié)分析

    今天總結(jié)一下javascript 內(nèi)置對象Math中的函數(shù)用法,順帶寫一下常見的案例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步
    2022-03-03

最新評論

香港 | 汕尾市| 五华县| 封丘县| 宝清县| 隆德县| 闽清县| 台南县| 张家界市| 那曲县| 屏南县| 黄龙县| 轮台县| 莱阳市| 柞水县| 莎车县| 六安市| 大竹县| 丰城市| 兴仁县| 望奎县| 靖安县| 南靖县| 株洲县| 余姚市| 曲麻莱县| 尼玛县| 湛江市| 西昌市| 淳化县| 太仆寺旗| 锡林浩特市| 毕节市| 三都| 伊吾县| 曲阜市| 天峻县| 宕昌县| 太仓市| 阿勒泰市| 辽阳市|