Инициировать действие при нажатии кнопки Div, но не при нажатии на ссылки внутри этого элемента - PullRequest
1 голос
/ 26 января 2012

Я хочу переключать класс DIV, нажимая на него, но не нажимая на ссылку внутри этого DIV.

Я пробовал это, но он переключал класс, даже когда нажата ссылка:

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

Что я мог сделать?Заранее спасибо!

Ответы [ 2 ]

9 голосов
/ 26 января 2012

Остановить распространение события при нажатии на ссылку внутри этого дивизиона.

$("ol.compacted .tl_general a").click(function (e) {
    e.stopPropagation();
});
2 голосов
/ 26 января 2012

убедитесь, что целью события является правильный элемент.

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