2016-09-29 38 views
0

我有一個div,裏面有兩個可點擊的標籤。 出於某種原因,除標籤之外的div內的空白空間也被點擊。製作div不循環

有沒有什麼辦法可以禁止點擊裏面除了兩個標籤的div?

+1

你能後你有什麼這麼遠嗎? – salih0vicX

+0

請分享一些你已經試過的代碼。似乎不清楚只有問題。 –

+0

分享你的代碼yar? –

回答

2

充分利用div不可點擊和label點擊

div{ 
    pointer-events:none; 
} 
label{ 
    pointer-events:all; 
} 
+0

這仍然觸發點擊'div' –

+0

您是否爲您的div編寫了任何點擊事件?請告訴你如何處理標籤事件? –

+0

是的,它工作正常:) –

0

將廣告點擊偵聽器添加到div並檢查事件的目標屬性。如果它是當前元素,調用preventDefault()方法

HTML

<div> 
    <label onclick="clickOnLabel1()">a</label> 
    <label onclick="clickOnLabel2()">f</label> 
</div> 

JS

document.addEventListener('DOMContentLoaded', function() { 
    document.querySelector('div').addEventListener('click', function(event) { 
     if (this === event.currentTarget) { 
      event.preventDefault(); 
     } 
    }); 
}); 
+0

使用preventPropogation()會更合適嗎? – ProEvilz

1

您可以css使用

pointer-events:none 

做到這一點,或者你也可以這樣做在JQuery使用

$('element').click(false) 
+1

這將防止觸發點擊兒童標籤# –

+0

@Maximus True。請參閱** AB Udhay的答案 – MoultoB