我尽我所能尝试措辞这个问题......如果不清楚,我很抱歉,但这是我的问题。
这是我的 .js 文件”
$(function()
{
$(".dropup").on("click", function(e) { alert(''); });
$(".chat-friend").click(newChat);
});
function newChat()
{
var chatboxExpandedHTML = '<ul id="chatwindow-expanded" class="dropdown-menu">' +
'<li><span style="background-color:red"></span></li>' +
'<li><b>Bob:</b></li>' +
'<li>I like mashed taters.</li>' +
'<li><b>You</b></li>' +
'<li>I like mashed taters too.</li>' +
'<li>And chicken too.</li>' +
'<li><b>Bob:</b></li>' +
'<li>We can\'t be friends any more.</li>' +
'<li><input type="text" class="chatter" placeholder="Type something…"></li>' +
'<li class="divider"></li>' +
'</ul>';
var chatboxMiniHTML = '<li class="dropup">' +
'<span class="message-box dropdown-toggle" data-toggle="dropdown"><b>Test123</b></span>'
+ chatboxExpandedHTML +
'</li>';
$('#chatbar-center').append(chatboxMiniHTML);
}
这是视图以防万一。
<%@ Control Language="C#" ClassName="Octgn.App.c" %>
<link href="../../Content/css/ChatbarStyle.css" rel="stylesheet" type="text/css" />
<script src="../../Content/js/chatservice.js" type="text/javascript"></script>
<div class="chatbar">
<div class="navbar">
<div class="navbar navbar-fixed-bottom">
<div class="navbar-inner">
<ul id="chatbar-left" class="nav pull-left">
<li><a href="#"><i class="icon-cog icon-white"></i>Settings</a></li>
<li class="divider-vertical"></li>
</ul>
<ul id="chatbar-center" class="nav">
</ul>
<ul id="chatbar-right" class="nav pull-right">
<li class="divider-vertical"></li>
<li class="chat-availability"></li>
<li class="dropup">
<a href="#" id="friends" class="dropdown-toggle" data-toggle="dropdown">Friends(1)</a>
<ul id="friendslist" class="dropdown-menu">
<li><a href="#" class="chat-friend">Alice</a></li>
<li><a href="#" class="chat-friend">Bob</a></li>
<li class="divider"></li>
</ul>
</li>
<li class="divider-vertical"></li>
<li class="notifications">1</li>
</ul>
</div>
<div>
</div>
</div>
这是有效的:我单击具有 .chat-friend 类的元素,并且具有 .message-box 类的元素附加到 #chatbar-center 就好了。那里没有问题。
我单击它创建的按钮,它创建了带有 .chatwindow-expanded 类的下拉菜单,其中包含输入的元素,很好。
在创建消息框时,事件不起作用。当我单击朋友列表时会显示警报,但不会显示消息框,即使他们是 dropups 类中的机器人。
我在这里做错了什么?是因为它是在函数中创建的,并且事件是在创建元素之前创建的吗?是因为字符串使用的是“+”而不是“\”吗?我尝试使用它,但该按钮甚至不会显示,并且它与“+”一起使用。
因为这个,我的头在砰砰直跳。我已经尝试过 .on("click", ...) 和 .click(...); 的变体;我也试过把 $('input') 和 $('li') 等等......很多不同的东西。