2016-03-09 133 views
1

我想單擊父div上的任意位置來切換我的div,除非單擊了anchor元素。例如,如果我點擊示例中的第一個文本,我希望它切換,但在我的示例中的第二個文本中,我不希望它切換。切換div除錨點之外點擊

JSFiddle

我一直在使用!key.relatedTarget.tagName == 'a'嘗試,但我不斷收到undefined

回答

1

見上面的答案。

對於JQuery的方式;

$(document).ready(function(){ 
    $('.panel').on('click', function(e){ 
     if(e.target.id != 'test_description'){ 
     $('.description').toggle(); 
     } 
    }); 
}) 

jsfiddle

或者專門爲一個A-元件;

$(document).ready(function(){ 
    $('.panel').on('click', function(e){ 
     var target = $(e.target); 
     if (!target.is("a")) { 
      $(this).find('.description').toggle(); 
     } 
    }); 
}) 

jsfiddle

對於只有JavaScript:

 if (target.get(0).tagName.toLowerCase() != 'a') { 
+0

有沒有辦法做到這一點只在JS?而不是jQuery? – user4756836

+0

有,用javascript方式更新我的帖子,以確定目標元素是否爲主播。 – Webber

1

你應該檢查活動對象:

function show_description(key) { 
    if(!$(event.target).is("a")) 
    { 
     $('#' + key + '_description').slideToggle(100); 
    } 
} 

JSFiddle