jQuery - 动态创建的选项卡元素不会触发事件

2024-03-11

我在用jQuery UI 选项卡 http://docs.jquery.com/UI/Tabs.

<div id="tabs">
<ul id="tablist">
    <li><a href="#fragment-1"><span>One</span></a></li>
</ul>
</div>

我有一个添加新选项卡的按钮。我使用以下代码:

var newTabId = $('#tabs').tabs('option', 'selected') + 1;    
$('#tabs').tabs("add",'someUrl.htm','New Tab',newTabId);

(选项卡将添加到当前所选选项卡旁边)

现在,新添加的选项卡都不会触发任何事件,例如单击或悬停

$('#tablist li').click(function(){
    alert('test message');
});

但是对于初始源代码中的选项卡,事件可以正确触发。

如何解决?


Use live http://api.jquery.com/live反而。

$('#tablist li').live('click', function(){
    alert('test message');
});

或者更好的是,delegate http://api.jquery.com/delagate事件

$('#tablist').delegate('li', 'click', function(){
    alert('test message');
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

jQuery - 动态创建的选项卡元素不会触发事件 的相关文章

随机推荐