多个jquery加载后链接不起作用

时间:2010-11-17 11:16:32

标签: jquery load

我同时在两个div中加载文件:#ajax_id和#ajax_col,问题是当我从其中一个加载的div中创建另一个链接时,其他链接不再工作了...这是我的代码:< / p>

$(document).ready(function() {
   var api = $('#ajax_in').jScrollPane().data('jsp');
   $('.aj4x').bind('click', function() {
      var action = $(this).attr("rel");
      api.getContentPane().load("ajax.php?id=" + action,
      function() {
        api.reinitialise();
        return false;
      });

      $("#ajax_col").load("ajax.php?col=" + action,function() { return false; });
   });
});

这就是我如何制作链接:

$('.bt').click(function() {
   $("#ajax_in").load("ajax.php?id=form123", function() { return false; });
});
单击.bt后,内容将加载到#ajax_in中,但其余链接不再起作用(仅加载#ajax_col的那些)

我做错了什么?当我改变现场('点击')时,我可以使它工作,但我读到点击功能已经'实时'

1 个答案:

答案 0 :(得分:1)

如果.bind链接停止运行,请将.live更改为.aj4x

如果.bt个链接停止运行,请更改

$('.bt').click($('.bt').bind('click',

重点是您引入了新链接,并且尚未为其分配事件处理。

使用.live()允许此

  

说明:为所有匹配的元素附加事件处理程序   现在和现在的选择器   将来


回答您关于点击直播的补充内容。分配给.click(..).bind('click',..)的点击事件不会生效。当.click.bind方法仅调用与当时与选择器匹配的元素时,将分配它们。新创建的元素将不具有处理程序,因此需要.live()方法。