【问题标题】:Button stops working after loading div via ajax通过ajax加载div后按钮停止工作
【发布时间】:2012-11-07 04:44:43
【问题描述】:

我在页面上有两个 div:主 div 和辅助,它使用 ajax 加载单独的 html 页面。由单击事件触发的主 div 内的所有链接继续正常工作并引用适当的内容,但此 div 之外的 jquery 都不起作用(例如导航)。

这是我的 jQuery:

    var url;
    $('.main a').live('click',function() {
        url = $(this).attr('href');
        $('.secondary').load(url);
    return false;
    });

谁能帮助我为什么这不起作用?我想我应该触发一个回调事件,但我不知道该怎么做。我知道这个问题已经被问过多次(通常建议使用 .live() 或 .on()),但这些解决方案似乎都不适合我。

编辑:这是一个简短的小提琴:http://jsfiddle.net/snDzF/ 所以login应该是一个toggle bottle,Link 1、2和3加载html在第二个右边的div中。登录切换按钮会一直工作,直到我单击其中一个链接来加载另一个页面。

【问题讨论】:

  • 请发布你所有的剧本,酷吗?
  • 如果可能的话,您能否在您的代码中粘贴 jsfiddle.net 链接
  • 请停止使用.live() - 出于许多(主要是性能)原因,首选通过.on() 进行委托。阅读更多:bitovi.com/blog/2011/04/…andismith.com/blog/2011/11/on-and-off
  • @VIDesignz .on() 是自 jQuery 1.7+ 以来的首选方式,.delegate() 自 jQuery 1.4.3+ 以来是首选方式 在此处阅读文档 api.jquery.com/live
  • 我记得我遇到了同样的问题。我在我的主页上加载 jQuery,并将其导入到我加载到 div 的页面上。它导致我的页面中断,因此我删除了辅助页面上的导入并解决了问题

标签: jquery ajax


【解决方案1】:

试试这个

var url;
$('.main a').click(function(){
    url = $(this).attr('href');
    $('.secondary').load(url);
});

【讨论】:

    【解决方案2】:

    需要删除加载第二帧上的任何 javascript 文件。只能加载纯 HTML。

    【讨论】:

      猜你喜欢
      • 2014-07-10
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 2020-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多