私はこの質問をできる限り表現しようとしました...それが明確でなかった場合は申し訳ありませんが、ここに私の問題があります。
これは私の.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を含むドロップアップが作成されます。この要素には、入力が含まれています。
イベントが機能しないのは、メッセージボックスが作成されたときです。ドロップアップクラスのボットであっても、友達リストをクリックするとアラートが表示されますが、メッセージボックスは表示されません。
私はここで何が間違っているのですか?関数で作成されており、要素が作成される前にイベントが作成されているためですか?文字列が「\」ではなく「+」を使用しているためですか?それを使ってみましたが、ボタンも表示されず、「+」で表示されます。
このせいで頭がドキドキしています。.on( "click"、...)と.click(...)のバリエーションをすでに試しました。$('input')や$('li')などを入れてみました...いろいろなものがあります。