2009-11-30 2 views
0

Я использую функцию ajax, которая строит заполнение innerHTML диапазона, а затем создает функцию jquery. В первый раз, когда я вызываю функцию jquery, она работает нормально, но если я снова вызвал функцию ajax, функция jquery click вызывается дважды, и если я еще раз вызову ее, jQuery вызывается 3 раза и так далее. Этот метод JQuery Я использую:Как убить jQuery перед заполнением html, возвращенным из вызова ajax?

$(".delete_mail").live('click', function() { 
            $(this).delete_mail(); 
            }); 

Я попытался .die перед заполнением innerHTML но это не помогло. Я хочу удалить метод jquery live перед заполнением innerHTML, поэтому он не будет дублироваться.

Пожалуйста, помогите.

+0

У меня то, что у меня есть. Есть ли способ, чтобы .live вызывался только один раз? – Luci

ответ

1

.live() функция связывает обработчик события для всех текущих и будущих соответствующих элементов.

В общем, вы должны позвонить .live() только один раз, иначе он будет продолжать добавлять новые обработчики.

Try двигая .live() вызов к OnLoad событие и назвать его только один раз, обработчик будет автоматически связываются с новыми элементами, добавленных с помощью вызова Ajax.

+0

спасибо, что это сработало. – Luci

+0

Я сделал $ (document) .ready (function() { $ (". Delete_mail"). Live ('click', function() { $ (this) .delete_mail(); }); }) ; – Luci

 Смежные вопросы

  • Нет связанных вопросов^_^