2012-01-26 12 views
1

DIVのクラスをクリックして切り替えるとしますが、そのDIVのリンクをクリックすると切り替えることはできません。Divのトリガアクションがクリックされていますが、そのDivの中のリンクをクリックしていません

私はこれを試してみましたが、リンクがクリックされたときにそれもクラスを切り替える:

$("ol.compacted .tl_general:not(a)").click(function() { 
    $(this).toggleClass("re-expanded"); 
}); 

私は何ができますか?前もって感謝します!

+0

私はまったく同じ問題を抱えていたため、質問とアンサーについて+1してください。 – petervaz

答えて

9

div内のリンクをクリックすると、イベントの伝播を停止します。

$("ol.compacted .tl_general a").click(function (e) { 
    e.stopPropagation(); 
}); 
+0

@Santiago - これがあなたを助けましたか? – ShankarSangoli

+0

はうまくいった!ありがとう! – Santiago

2

イベントターゲットが正しい要素であることを確認してください。

$("ol.compacted .tl_general").click(function (e) { 
    var $this = $(this); 
    if ($this.is(e.target)) { 
     $this.toggleClass("re-expanded"); 
    } 
}); 
+0

ありがとうKevin、私は@ShankarSangoliメソッドを使用しましたが、どちらを使うのが良いかはわかりません...しかし、あなたの答えに感謝します! – Santiago

関連する問題