2

クリックするとトグルするリスト項目内にリンクがありますが、リンクをクリックするとトグルクラスがアクティブになり、消えます。

<script type="text/javascript">
$(document).ready(function() {
    $(".content-list > li").live("click", function () {
        $(this).find('.links').toggleClass("hide");
    });
});
</script>

http://jsfiddle.net/davemj88/DtrDw/1/

リスト項目内のリンクをクリックすると、トグルして消えます。背景をクリックするか、リンクをクリックしない限り、表示されたままにしたい.

ユーザーが内部のどこかのリンクをクリックしない限り、リスト項目を切り替えたいのですが、クラスを切り替えたくありません。ユーザーが内部の別のリンクをクリックしない場合にのみ動作するようにトグルクラスを制限するにはどうすればよいですか?

4

1 に答える 1

0

li 内のリンクのクリック イベント ハンドラーを追加する場合、e.stopPropagation() を使用して、そのイベントが含まれる li にバブルアップするのを防ぐことができます。

$(".content-list > li a").live("click", function(e) {
    e.stopPropagation();
});

JSフィドル

ただし、イベント バインディングに使用されるセレクターは直接の子孫 li であり、その中のアンカー タグであるため、削除リンクは影響を受けないことに気付くでしょう。そのため、セレクターを適切に調整する必要がありますが、それでアイデアが伝わるはずです。 .

于 2013-01-29T20:17:51.033 に答える