在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML/ 為什么不管點擊哪里 執(zhí)行的都是綁定在最外面div上的事件 也阻止了事件冒泡 布局

為什么不管點擊哪里 執(zhí)行的都是綁定在最外面div上的事件 也阻止了事件冒泡 布局也沒問題 e.target是正確的,求解啊

<div class="checkmsg">
        <select>
            <option>無</option>
            <option>上傳圖片不符合正常規(guī)范</option>
            <option>圖片不清晰</option>
            <option>違規(guī)商品</option>
            <option>敏感詞</option>
        </select>
        <div class="send_textarea">
            <textarea id="msg"></textarea>
        </div>
        <button style="margin-left:975px">確認</button>
        <button id="cancle">取消</button>
    </div>

js部分

$('.checkmsg select').change(function() {
        var str = $('.checkmsg select').find("option:selected").text();
        var _html = "<p>"+str+"<span id ='del'>x</span></p><br>";
        $(_html).insertBefore('#msg');
    });
$('#del').click(function(event){
        event.stopPropagation();
        alert('ok');
        console.log(e.target)
    });
    $('.send_textarea').click(function(e){
        alert('div了');
        console.log(e.target)
    });
    $('#msg').click(function(){
        alert('text了')
    });

為什么每次不管點擊什么地方都alert 點擊div了

回答
編輯回答
離觴

$('send_textarea p')寫錯了,少了個點,這個事件監(jiān)控無效,所以也談不上阻止冒泡。
$('.msg')上的這個事件監(jiān)控也無效,因為你應(yīng)該監(jiān)控id應(yīng)該是$('#msg'),所以也不會彈框。
于是就只能捕獲$('.send_textarea')監(jiān)控的事件了

----你這樣不斷改問題的方式不太好,別人都不知道最開始的問題是什么,也不知道到底修改了哪里你可以評論補充你的問題。

你把代碼改為

$('.checkmsg').click("#del",function(event){
    event.stopPropagation();
    alert('ok');
    console.log(e.target)
});

你現(xiàn)在的代碼綁定事件時,你的dom中并沒有一個id為del的節(jié)點,所以綁定無效。
按照我的方法是用事件委托的方式把事件綁定到checkmsg上,此時綁定事件成功

2017年7月13日 13:33
編輯回答
敢試

圖片描述

因為div默認占滿正行,點擊圖中高亮部分都會觸發(fā).send_textarea的點擊事件

2018年5月26日 16:56