我正在实施用户通知系统。加载页面时会发出一个AJAX请求,如果存在通知,它们将被呈现为隐藏的<ul>
,但是如果单击了通知项则应该显示。
我的页面上有一些使用Bootstrap的工作下拉菜单,所以这不是问题。
元素的加载和创建工作正常。如果我用Firebug检查它们会出现在DOM中。
// this is in the top bar
<a id="notifications" href="/user/profile/notifications" data-toggle="notifications-alert">Benachrichtigungen</a>
// and this appended to the end of body
<ul id="notifications-alert" class="notifications dropdown-menu" style="display: none;">
<li class="event_new">[..]</li>
<li class="event_new">[..]</li>
</ul>
当我追加设置data-toggle
属性时,我也初始化了dropdown()。像这样:
$notifications.addAttr('data.toggle', 'notifications-alert')
.dropdown();
我也试过手动扳机,但仍然做了工作。
$notifications.addAttr('data.toggle', 'notifications-alert')
.click(function(e) { e.preventDefault(); $(this).dropdown('toggle'); })
.dropdown();
为什么它不起作用的任何想法?
@EDIT:我的错,解决了。有关详细信息,请参阅我的回答。
答案 0 :(得分:1)
twitter bootstrap中的所有示例都显示链接[tag a]和dropdown [tag ul]以及同一个父级。也许简单的解决方案是你应该在 a 之后添加 ul ,而不是在正文末尾添加 ul {{1} }