Показать сообщение отдельно
  #4 (permalink)  
Старый 05.07.2013, 17:43
Интересующийся
Отправить личное сообщение для arachnoz Посмотреть профиль Найти все сообщения от arachnoz
 
Регистрация: 26.06.2012
Сообщений: 23

Ссылка не работает

Нагуглил теорию:

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

Это происходит потому, что событие всплывает.

Как не дать ему всплыть от потомка? Как-то так, но куда встраивать? В If $("#onread").click()?

$("p").click(function(event){
event.stopPropagation();
// do something
});



Всё, решил вопрос. Оказалось всё просто.

$("#onread").live("click", function(event){
event.stopPropagation();
}); 

$("#read").live("click", function() {
$("#read").remove();
});


Но тем не менее, хотелось бы понять, почему не работает OnClick (а точнее, .click в JQuery), а работает .live?
Из-за динамического добавления блоков в DOM?

Последний раз редактировалось arachnoz, 05.07.2013 в 17:59.
Ответить с цитированием