Jquery plugins jQuery:Ajax只触发一次,即使与livequery()绑定

Jquery plugins jQuery:Ajax只触发一次,即使与livequery()绑定,jquery-plugins,jquery,livequery,Jquery Plugins,Jquery,Livequery,好的,我使用livequery()将函数绑定到类“ajaxLink”的所有链接的click事件。函数可以完美地启动…一次。在单击第一次成功调用ajax之后,后续的单击不会触发ajax,这意味着(我猜)它们不再受livequery()代码的约束 我看到其他有类似问题的人将代码移到ready()函数之外,所以我尝试了,但没有成功(结果相同) 如果你需要更多细节,请告诉我。提前感谢您的帮助!此站点非常棒。.livequery()根据版本和一些特殊的DOM情况而存在问题。但是,您可以忽略这个问题……因为

好的,我使用livequery()将函数绑定到类“ajaxLink”的所有链接的click事件。函数可以完美地启动…一次。在单击第一次成功调用ajax之后,后续的单击不会触发ajax,这意味着(我猜)它们不再受livequery()代码的约束

我看到其他有类似问题的人将代码移到ready()函数之外,所以我尝试了,但没有成功(结果相同)

如果你需要更多细节,请告诉我。提前感谢您的帮助!此站点非常棒。

.livequery()
根据版本和一些特殊的DOM情况而存在问题。但是,您可以忽略这个问题……因为您正在做一些与事件无关的事情,所以可以在此处使用构建的it(在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);
      });
    }
  });
});

我正在查看插件页面,我真的在试图找出
livequery
与本机
live
的区别。你知道吗?@Peter-
.livequery()
会主动寻找添加到DOM中的元素,对于效率较低的事件,它只是填补了
.live()
之前的空白。它现在主要用于运行插件之类的东西,
.live()
,是事件气泡驱动的,无法执行。rhbaum-您使用的是什么版本的jQuery?我的脚本标记指向“”。已完成,谢谢!有趣的是,我最初使用live(),遇到了与上面描述的相同的问题,这促使我搜索并找到livequery(),它实际上工作了一段时间。然后我不得不将我的站点切换到一个新的域,并且再次遇到了问题。有趣的是,切换回live()最终解决了这个问题!再次感谢所有评论的人。
$('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);
      });
    }
  });
});