我正在尝试将.click()添加到我动态添加的标签中。
到目前为止代码:
var newtabid = "#privChatArea" + chatmessage.SenderID;
$("#tabs").tabs("add", newtabid, "<span style=\"color: red;\">" + chatmessage.SenderNick + "</span>");
我似乎无法弄清楚如何引用Tab键,因为我实际给出ID的唯一元素是&lt; div id =“privChatArea [id]”&gt;&lt; / div&gt; < / p>
任何人都知道怎么做?
编辑:澄清
标签由
组成 <div id="tabs">
<ul id="tabscontainer">
<li><a href="#chatroom1" id="_chatroom1"><span>test1</span></a></li>
<li><a href="#chatroom2" id="_chatroom2"><span>test2</span></a></li>
<li><a href="#chatroom3" id="_chatroom3"><span>test3</span></a></li>
</ul>
<div id="chatroom1" style="max-height: 400px; height: 400px; width: 100%; overflow-y: scroll;">
</div>
<div id="chatroom2" style="max-height: 400px; height: 400px; width: 100%; overflow-y: scroll;">
</div>
<div id="chatroom3" style="max-height: 400px; height: 400px; width: 100%; overflow-y: scroll;">
</div>
我在创建选项卡时创建的id的引用时遇到问题。使用.tabs(“add”)
时未指定此ID干杯!
答案 0 :(得分:3)
使用“live”绑定动态创建元素的事件。您可以为所有选项卡选择一种选择器(可能是类等),并在$(文档)上实时绑定事件.ready()
http://docs.jquery.com/Events/live
编辑:再次阅读你的问题之后,我想我应该澄清一下。您应该将直播事件绑定到您正在创建的“范围”
答案 1 :(得分:1)
应该如此简单:
$("#tabs span.private-chat-area").live("click", function(e) {
var senderId = $(this).attr("rel");
...
});
var newtabid = "#privChatArea" + chatmessage.SenderID;
$("#tabs").tabs("add", newtabid, "<span style=\"color: red;\" class=\"private-chat-area\" rel=\"" + chatmessage.SenderID + "\">" + chatmessage.SenderNick + "</span>");