Событие jquery live выполняется дважды

Я загружаю контент на страницу с помощью ajax, в которой будут привязаны события кликов в реальном времени. Кажется, что в первый раз, когда я загружаю этот контент, все работает так, как ожидалось. Если я снова загружаю это, события срабатывают дважды (когда помещаются контрольные точки в коде). Что я делаю не так? Есть ли способ очистить дом от этих элементов, прежде чем они снова загрузятся?

Ответы

Ответ 1

Думаю, вы вызываете .live() на те же элементы снова и снова. используйте .die() для этих элементов перед вызовом .live().

Ответ 2

Я зафиксировал его так:

$('selector').die('click').live('click', function () {
  // Do stuff here
});

Ответ 3

только что подтверждено. Использул .live() и сначала экспериментировал с .unbind().

конечная:

$(".clickedClass").die("click").live("click", function () {

});

Ответ 4

Если вы используете метод ON вместо live. THEN

jQuery ('body'). unbind(). on ('submit', 'form.make_commitment_form', function (e) {....});