Ответ 1
Думаю, вы вызываете .live()
на те же элементы снова и снова.
используйте .die()
для этих элементов перед вызовом .live()
.
Я загружаю контент на страницу с помощью ajax, в которой будут привязаны события кликов в реальном времени. Кажется, что в первый раз, когда я загружаю этот контент, все работает так, как ожидалось. Если я снова загружаю это, события срабатывают дважды (когда помещаются контрольные точки в коде). Что я делаю не так? Есть ли способ очистить дом от этих элементов, прежде чем они снова загрузятся?
Думаю, вы вызываете .live()
на те же элементы снова и снова.
используйте .die()
для этих элементов перед вызовом .live()
.
Я зафиксировал его так:
$('selector').die('click').live('click', function () {
// Do stuff here
});
только что подтверждено. Использул .live() и сначала экспериментировал с .unbind().
конечная:
$(".clickedClass").die("click").live("click", function () {
});
Если вы используете метод ON вместо live. THEN
jQuery ('body'). unbind(). on ('submit', 'form.make_commitment_form', function (e) {....});