1

我正在实施一个用户通知系统。当页面加载时,会发出 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:我的错误,解决了。有关详细信息,请参阅我的答案。

4

1 回答 1

1

twitter bootstrap中的所有示例都显示了链接 [tag a] 和下拉列表 [tag ul] 以及同一个父项。也许简单的解决方案是您应该在a之后添加ul而不是在正文末尾添加ul$('a selector').after(ul)

于 2013-06-25T16:03:27.033 回答