jQuery如何实现新类和id

时间:2011-04-02 07:58:13

标签: php jquery html ajax kohana

我在标题中有一些标签,并使用Xajax加载大模块 - 几乎整页。我用jQuery调用了一些类(比如使用某个类的锚点然后点击事件......)。 但是当我加载一个新模块并分配新内容(使用新类和id)时,jQuery选择器似乎不起作用 - 即在点击锚之后没有任何事情发生。

当您使用jQuery忘记$(document).ready(...)时会出现相似的情况。 是否有任何解决方案可以告诉jQuery有关新内容,新类和id的信息,这些信息在加载页面时不可用?

1 个答案:

答案 0 :(得分:0)

这是因为您的事件绑定仅适用于在调用绑定时存在的DOM元素。由于在调用绑定($('#sel').click(..))之后加载了模块,因此这些DOM元素不会绑定到事件处理程序。

要解决此问题,您可以使用jQuery .live()方法绑定稍后将加载的元素。 jQuery将跟踪正在创建的所有新DOM项目,并将调用新元素的绑定。

http://api.jquery.com/live/

LIVE DEMO

 <div class="clickme">
    Click here
  </div>

$('.clickme').click(function(){
    alert('click event from normal binding!');
    $(this).parent().append('<div class="clickme">Click here - won\'t trigger for normal bind</div>');
})


$('.clickme').live('click', function(){
    alert('click event from live binding!');
})