第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

點擊重復執(zhí)行,請問這是js冒泡嗎,怎么解決,如下圖和代碼,

點擊重復執(zhí)行,請問這是js冒泡嗎,怎么解決,如下圖和代碼,

紅糖糍粑 2019-03-20 17:14:43
如下問題剛開始two是隱藏的,點擊one對應的two會顯示,第一次點擊two的時候,只會跳出一個alert(),重復點擊就會遞增的alrt(), 2次,3次......圖片代碼<!DOCTYPE html><html><head>? ? <meta charset="UTF-8">? ? <meta name="viewport" content="width=device-width, initial-scale=1.0">? ? <meta http-equiv="X-UA-Compatible" content="ie=edge">? ? <title>Document</title>? ? <style>? ? ? ? .one {? ? ? ? ? ? height: 100px;? ? ? ? ? ? border-bottom: 1px solid #000;? ? ? ? }? ? ? ??? ? ? ? .two {? ? ? ? ? ? display: none;? ? ? ? ? ? width: 50px;? ? ? ? ? ? height: 20px;? ? ? ? ? ? border: 1px solid #ccc;? ? ? ? }? ? </style></head><body>? ? <div class="box">? ? ? ? <div class="box-item">? ? ? ? ? ? <div class="one">? ? ? ? ? ? ? ? one? ? ? ? ? ? ? ? <div class="two">two</div>? ? ? ? ? ? </div>? ? ? ? </div>? ? ? ? <div class="box-item">? ? ? ? ? ? <div class="one">? ? ? ? ? ? ? ? one? ? ? ? ? ? ? ? <div class="two">two</div>? ? ? ? ? ? </div>? ? ? ? </div>? ? ? ? <div class="box-item">? ? ? ? ? ? <div class="one">? ? ? ? ? ? ? ? one? ? ? ? ? ? ? ? <div class="two">two</div>? ? ? ? ? ? </div>? ? ? ? </div>? ? </div>? ? <script src="https://cdn.bootcss.com/jquery/3.3.1/jquery.min.js"></script>? ? <script>? ? ? ? $('.box .box-item .one').click(function() {? ? ? ? ? ? $(this).find(".two").show()? ? ? ? ? ? $(this).find(".two").click(function() {? ? ? ? ? ? ? ? alert($(this).html());? ? ? ? ? ? })? ? ? ? })? ? </script></body></html>
查看完整描述

4 回答

?
呼如林

TA貢獻1798條經(jīng)驗 獲得超3個贊

  1. 這不是冒泡,這是重復綁定。

  2. DOM里的事件是這樣的,你可以想象每個DOM結(jié)構(gòu)有一張散列表,這張表一開始是空的,每次注冊一個事件回調(diào)呢,就會把這個回調(diào)記到這個表上;而事件發(fā)生的時候呢,就會找到這個表,然后一個回調(diào)一個回調(diào)的去執(zhí)行。

  3. 有個常見的誤區(qū),是以為每個DOM只有一個回調(diào),事件發(fā)生時被觸發(fā)執(zhí)行,這是不對的。事實上,注冊了一個回調(diào)就會執(zhí)行一個,而注冊了好幾個,就會挨個執(zhí)行。

  4. 題目中的錯誤也挺常見,是一個事件回調(diào)里邊注冊另一個事件回調(diào),這樣當外邊的回調(diào)執(zhí)行時,就會給里邊的DOM上掛一個回調(diào),執(zhí)行多次以后,里邊的回調(diào)也相應增多,這樣在觸發(fā)里邊DOM的時候,就會有多個回調(diào)被執(zhí)行,從而導致錯誤。

  5. 原生寫法的注冊事件其實可以拒掉具名函數(shù)事件回調(diào)的重復注冊,但在jQ里,都是匿名函數(shù)/函數(shù)表達式,原生也防不住,從而變成了常見錯誤。


查看完整回答
反對 回復 2019-03-29
?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

$(this).find(".two").click(function(e) {

                e.stopPropagation();

                alert($(this).html());

            })


查看完整回答
反對 回復 2019-03-29
?
尚方寶劍之說

TA貢獻1788條經(jīng)驗 獲得超4個贊

$('.box .box-item .one').click(function() {


    $(this).find(".two").show()

    $(this).find(".two").off();

    $(this).find(".two").click(function() {

        alert($(this).html());

    })

})


查看完整回答
反對 回復 2019-03-29
  • 4 回答
  • 0 關(guān)注
  • 284 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號