Я загружаю страницу с помощью load (), а затем динамически создаю тег
. Затем я использую live () для привязки события щелчка и запускает функцию. По окончании вызова unload ().
Проблема в том, что при повторной загрузке той же страницы (без обновления) при нажатии функция запускается дважды. Если я выйду снова (снова с помощью unload ()) и снова загрузлю страницу, щелчок сработает 3 раза и так далее. Пример моего кода:
$('#tab').click(function() {
$('#formWrap').load('newPage.php');
});
$('div').after('<p class="ctr" ></p>');
$('p.ctr').live('click', function(e) {
if($(e.target).is('[k=lf]')) { console.log ('one'); delete ($this); }
else if ....
});
function delete () {
$.post( 'update.php', data);
}
У меня есть другие $.post
внутри на этой странице, а также на вышеупомянутом live fnc, и все работает хорошо. Вышеупомянутый также работает, но, как я уже сказал, при второй загрузке будет срабатывать дважды и 3 раза и так далее ...
Странная часть для меня заключается в том, что если заменить консоль на console.log ('two'); сохранить страницу и загрузить страницу без обновления, она будет отображаться в разных строках - один-два -
если я выгружаю страницу, замените консоль на console.log ('three'); и загрузить снова будет стрелять один, два и три.
Я пытаюсь использовать:
$.ajax({ url: 'updateDB.php', data: data, type: 'POST', cache:false });
$.ajaxSetup ({ cache: false });
header("Cache-Control: no-cache");
ничего из этого не работает. И у меня эта проблема только на этой фнц.
Как вы думаете, это может быть причиной, она помнит, она помнит предыдущее действие и снова запускается?