我使用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;不在在线文档中但是你可以自己生成