2016-09-29 13 views
0

divがあり、内側に2つのクリック可能なラベルがあります。 何らかの理由で、ラベル以外のdiv内の空きスペースもクリックされています。divを非循環にする

2つのラベル以外のdiv内でクリックを無効にする方法はありますか?

+1

あなたがこれまで持っているもの投稿することができますか? – salih0vicX

+0

あなたが試したいくつかのコードを教えてください。唯一疑問があるとはっきりしないようです。 –

+0

あなたのコードyarを共有しますか? –

答えて

2

メイククリックできないdivとクリッカブルlabel

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

を参照してください。これはまだdivのクリックイベントを書いた 'div' –

+0

をクリックするトリガーですか?ラベルのイベントをどのように処理しているか教えてください。 –

+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

あなたは

pointer-events:none 

またはあなたもこれを行うことができますを使用してcssでこれを行うことができますJQueryを使用して

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

これは、子の 'label'をクリックするのを防ぎます。 –

+0

@ Maximus True。 ** AB Udhayの**回答 – MoultoB

関連する問題