JQuery选项卡问题

时间:2011-04-23 17:54:57

标签: jquery ajax tabs

我有一些使用jquery创建的标签,我想添加新标签。我正在使用的方法是给锚点提供一个“扩展”类,我想创建一个新选项卡并删除它们的默认功能。然后我将内容加载到新创建的div中。问题是加载ajax的内容中的类“扩展”锚点不会继承此特定行为。感谢任何帮助。谢谢。 代码:

 $(function(){
    $("#tabs").tabs();
    $("a.extend").click(function(event) {
    event.preventDefault();
    var $name=$(this).attr("name");
    var $link=$(this).attr("href");
    $("#tabs").tabs("add", "#"+$name,$(this).attr("name"));
    $("#"+$name).load($link);
    //$(".extend").click(function(event){ event.preventDefault();}); this didn't fix it
    });
    });

1 个答案:

答案 0 :(得分:0)

最简单的方法是使用jQuery的“.delegate()”来处理“点击”事件:

$('body').delegate('a.extend', 'click', function(event) {
  // your code here, as in your question
});

这会在<body>标记上放置一个等待“点击”事件冒泡的事件处理程序,然后对于那些实际目标元素为<a>并且类为“extend”的人,它会调度到处理程序。这适用于最初的<a>元素以及稍后添加的元素。

您不必将处理程序放在<body>标记上;你可以将它放在包含锚点的任何方便的父元素上。

“。devgate()”函数就像“.live()”函数一样,但我个人更喜欢它,因为它更灵活,更像“jQuery”,效率更高。