Скрыть div при нажатии на документ, но не при нажатии на конкретную ссылку

0
$(document).click( function () {

    $('#my_div').fadeOut(350);

});

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

Теги:

3 ответа

1
Лучший ответ

Передайте объект события вашей функции щелчка и проверьте идентификатор:

$(document).click( function (event) {
    var idName = event.target.id;
    if(idName == "my_link"){
        return false;
    };
    $('#my_div').fadeOut(350);

});

Таким образом, вам не нужно добавлять дополнительный прослушиватель событий :)

Этот метод также расширяем, вы хотите включить другие ссылки в будущем...

  • 0
    он прячется везде, где я щелкаю человека
  • 0
    убедитесь, что идентификатор в условиях if совпадает с вашей ссылкой ... я только что заметил, что на my_div прописная буква "D"
Показать ещё 3 комментария
2

Простым способом является добавление события в вашу ссылку и использование stopPropagation:

$('#my_link').click(function(e){
     e.stopPropagation();
})
  • 0
    не работающий человек
  • 0
    @ user2871510 любая ошибка? Можете ли вы воспроизвести ошибку в jsFiddle?
Показать ещё 3 комментария
0

Используйте stopPropagation (http://api.jquery.com/event.stopPropagation/)

$('a#my_link').click(function(event) { event.stopPropagation(); });
  • 0
    не работающий человек

Ещё вопросы

Сообщество Overcoder
Наверх
Меню