使用jQuery .load替换Div导致新的div链接不起作用

时间:2011-04-18 18:50:23

标签: ajax load

我正在使用jQuery ajax load替换div以加载新的div:

    $("td.prod2").click(function(){
     $("#products-details").load("/products/Test.aspx");
    });

新div具有无序列表,用于替换先前的无序列表:

<ul>
<li><a href="">Link 1</li>
<li><a href="">Link 2</li>
<li><a href="">Link 3</li>
</ul>

当我点击新div中的链接时,原始div中的内容会重新加载到页面上?

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

尝试使用live绑定事件。这将确保当DOM更改时,您的新内容将具有事件......

$('td.prod2').live('click', function() {
    $("#products-details").load('/products/Test.aspx');
});

这绝对可以解决您遇到的问题。

有关live的更多详情,请参阅:http://api.jquery.com/live/

更新:您上面包含的代码看起来不完整......您从'/products/Test.aspx'加载的内容是什么?我假设它包含一些应该绑定此事件的<td class="prod2">

答案 1 :(得分:0)

当您替换具有事件侦听器的元素时,将断开这些侦听器。您需要重新初始化它们或使用jQuery的.live()功能。