Пожалуйста, прочитайте эту часть первой:
Оказывается, моя проблема в том, что кто-то использовало onclick="some javascript"
, что все мои стопоры события не расслышали.Unbind всех события от содержания, которое добавляется динамически с помощью AJAX
Я не нашел информацию по этой теме, должен ли это быть в сообществе wiki?
У меня есть содержание, которое имеет динамически загруженное содержимое, где я хочу отвязать событие:
примеракода на INIT:
<div id="Wrap"></div>
пример код после загрузки содержимого с помощью AJAX :
<div id="Wrap">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
Что я хочу:
.item
может иметь какое-либо событие- Элемент загружается динамически с помощью AJAX
- Он должен отвязать все события, и заменить его на один (< - это нет проблем)
Что я имею:
$(document).ready(handleWriteDisableds);
$(window).load(handleWriteDisableds); // in doc ready
$(document).ajaxComplete(handleWriteDisableds);
function handleWriteDisableds(){
$('.item').unbind() // remove all events set in doc-ready
$(document).on('click', '.item', function(e){
e.preventDefault(); // prevent default behaviour
e.stopPropagation(); // Don't bubble up
alert('no can do');
return false; // hardcore stopping stuff
});
}
Что мне нужно:
Чтобы отвязать ВСЁ после того, как он динамически загружает.
Редактировать О, Оказывается, у нас есть кто-то, кто использовал атрибут onclick, которые, по-видимому, не прекращаются. Я обновлю, если у меня есть дополнительная информация
так в чем проблема? разве вы не можете отменить все события? –
Если вы используете делегирование, вам нужно отпереть родительский элемент, на который вы установили делегирование. –
Я добавил еще немного кода в свой пример. События не отвязаны – Martijn