亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

jQuery停止子事件觸發父事件

jQuery停止子事件觸發父事件

慕標琳琳 2019-06-15 10:28:08
jQuery停止子事件觸發父事件我有一個div,我已經附加了一個onclick事件到。在這個div中有一個帶有鏈接的標記。當我單擊鏈接時,onclick事件也會被觸發。如何禁用此功能,以便在div上單擊鏈接onclick不是被解雇的?劇本:$(document).ready(function(){     $(".header").bind("click", function(){          $(this).children(".children").toggle();     });})HTML代碼:<div class="header">     <a href="link.html">some link</a>     <ul class="children">         <li>some list</li>     </ul></div>
查看完整描述

3 回答

?
回首憶惘然

TA貢獻1847條經驗 獲得超11個贊

這樣做:

$(document).ready(function(){
    $(".header").click(function(){
        $(this).children(".children").toggle();
    });
   $(".header a").click(function(e) {
        e.stopPropagation();
   });});

如果你想閱讀更多關于.topPropagation()的內容,請看這里.


查看完整回答
反對 回復 2019-06-15
?
慕斯王

TA貢獻1864條經驗 獲得超2個贊

或者,與其使用額外的事件處理程序來防止另一個處理程序,還可以使用事件對象參數傳遞給單擊事件處理程序,以確定是否單擊了子元素。target將是單擊的元素,并且currentTarget將是.Header div:

$(".header").click(function(e){
     //Do nothing if .header was not directly clicked
     if(e.target !== e.currentTarget) return;

     $(this).children(".children").toggle();});


查看完整回答
反對 回復 2019-06-15
?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

用更好的方法關于()用鏈子,

$(document).ready(function(){
    $(".header").on('click',function(){
        $(this).children(".children").toggle();
    }).on('click','a',function(e) {
        e.stopPropagation();
   });});


查看完整回答
反對 回復 2019-06-15
  • 3 回答
  • 0 關注
  • 711 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號