jQuery: Ajax запускается только один раз, хотя и связан с livequery () - PullRequest
0 голосов
/ 27 августа 2010

ОК, поэтому я использую livequery () для привязки функции к событию click всех ссылок класса 'ajaxLink'.Функция срабатывает отлично ... один раз.После первого успешного вызова ajax по клику последующие клики не запускают ajax, что означает (я предполагаю), что они больше не связаны кодом livequery ().другие, у которых была похожая проблема, переместили свой код за пределы функции ready (), поэтому я попробовал это, но безрезультатно (те же результаты).Заранее спасибо за вашу помощь!Этот сайт отлично.

1 Ответ

0 голосов
/ 27 августа 2010

.livequery() имеет проблемы в зависимости от версии и некоторых особых случаев DOM.Тем не менее, вы можете игнорировать эту проблему ... поскольку вы делаете что-то, что работает от событий, вы можете использовать встроенную .live() здесь (доступно в jQuery 1.3+), например так:

$('a.ajaxLink').live('click', function(e) {
  e.preventDefault();

  $.ajax({
    type: 'POST',
    url: $(this).attr('href') + '&ajax=y',
    //data: str,
    success: function(msg) {
      $('#mainPanel').slideUp(500, function() {
        $(this).html(msg).slideDown(1000);
      });
    }
  });
});
...