2010-11-25 3 views
1

У меня есть div #basket, которая показана с помощью функции слайд-шоу JQuery.Как исключить определенные клики из stopPropagation()? JQuery

Чтобы скопировать резервную копию div, можно щелкнуть в любом месте страницы.

$(document).click(function() { 
    $("#basket:visible").stop(true, true).slideUp("slow"); 
}); 

Конечно, я не хочу, чтобы div закрывался, когда пользователь нажимает на него. Поэтому я использую:

$("#basket").click(function (e) { 

    e.stopPropagation(); 
}); 

Теперь проблема у меня в том, что форма содержится в DIV и это отменяет все функции мыши в пределах дел.

Есть ли способ закрыть этот div, нажав на страницу без отмены всех кликов?

+0

Каковы ваши обработчики событий формы, что это останавливается? – 2010-11-25 09:49:19

+0

Вы уверены, что ваша форма находится внутри этого div, а не снаружи? `e.stopPropagation()` останавливает только распространение событий в дереве DOM, поэтому, если у вас есть узел внутри #basket, он все равно должен поймать событие. – Grassator 2010-11-25 10:09:10

ответ

0

Посмотрите на event.target: http://api.jquery.com/event.target/

Это позволит вам проверить, какой элемент событие обстреле в обработчик щелчка и действовать соответствующим образом.

Смежные вопросы