マークアップがあります。この部分はajaxを介してロードされ、div内に追加されています。ファイルuser-bar.php
のjQueryイベントがトリガーされていません
内容:<script type="text/javascript" src="js/scripts.js"></script>
$(function(){
loadUserBar();
$('#notifications-list').live('click', function(){
console.log('Test');
$('#notifications-list .icon-comment').removeClass('new');
});
});
function loadUserBar(){
$('#user-area').load('php/user-bar.php', function(){
initBootstrapElems(); //Initializing All popover elements
});
}
index.php
ファイルとしてindex.php
ファイルに含まれている以下のよう
<div id="u-bar">
<ul id="u-nav" class="nav">
<li id="notifications-list" class="dropdown" data-time="" >
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-comment"></i>
Notifications
<b class="caret"></b>
</a>
<ul class="dropdown-menu" >
<li><a href="#">Notification One</a></li>
<li><a href="#">Notification two</a></li>
<li class="divider"></li>
<li><a href="#">Show All Notifications</a></li>
</ul>
</li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">
<i class="icon-user"></i>
Profile
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="#">View Profile</a></li>
<li><a href="#">Settings</a></li>
</ul>
</li>
<li><a href="php/logout.php">Logout</a></li>
<div class="clear"></div>
</ul>
</div>
私はscripts.js
ファイルをしたが、AJAXは、マークアップがある返さdiv#user-area
を持っています挿入された。
ページ全体が読み込まれた後、リストアイテム#notifications-list
をクリックすると、何も起こりません。しかし、$('#notifications-list').click()
をコンソールに直接入力すると、ログが表示され、removeClass
が発生します。
ここで間違っていますか?
あなたはAJAX呼び出しのコールバックでこのjqueryのコードを入れていましたか? –
いいえ。jqueryコードはメインページにあります。コールバックを入れるにはどうしたらいいですか? – ptamzz
jQueryスクリプトをajaxで返されたマークアップに 'li'アイテムとともに入れましたが、それでも同じ問題です。 – ptamzz