如何使用Sproutcore 2.0与Twitter引导下拉菜单



我使用twitter-bootstrap创建了顶部栏菜单,它运行良好

.topbar
  .topbar-inner
    .container-fluid
      {{#view Mediawrap.menuView id="menuView"}}
      = link_to 'Mediawrap', root_path, {:class=>"brand"}
      %ul.nav
        %li.menu
          = link_to 'Search', "#", {:class=>"menu"}
          %ul.menu-dropdown
            %li
              = link_to "Hide date search", "#"
            %li
              = link_to "Hide index search", "#"
            %li
              = link_to "Hide advance search", "#"
            %li
              = link_to "Clear search", "#"
            %li.divider
            %li
              = link_to 'Save to new folder ...', "#"
            %li
              = link_to 'Replace a folder', "#"
      {{/view}}

直到我尝试将Sproutcore添加到页面。我的下拉菜单停止工作了。我认为这是因为"$(document).ready(function()"是在Sproutcore生成HTML标签之前调用的。

$(document).ready(function() {
  alert("bank");
  $(".topbar").dropdown();
});

如何在文档中调用命令。生成HTML标签

您也可以尝试在应用程序中使用ready回调:

App = SC.Application.create({
  ready: function() {
    this._super();
    $(".topbar").dropdown();
  }
});

我认为你必须在这里调用this._super()是一个错误,并将很快修复它

通过"didInsertElement"回调生成Sproutcore后调用Twitter Bootstrap脚本

Mediawrap.menuView = SC.View.extend({
  color: 'blue',
  didInsertElement: function() {
    this._super();
    $(".topbar").dropdown();
  }
})

" didInsertElement " & lt;不在在线文档中但是你可以自己生成

最新更新