试图在主干网中隐藏下拉列表出错
trying to hide dropdown in backbone error
notification_dropdown_view.js:
initialize: function(){
$(document.body).click($.proxy(this.hideDropdown, this));
this.notifications = [];
this.perPage = 5;
this.hasMoreNotifs = true;
this.badge = this.$el;
this.dropdown = $("#notification-dropdown");
this.dropdownNotifications = this.dropdown.find(".notifications");
this.ajaxLoader = this.dropdown.find(".ajax_loader");
this.perfectScrollbarInitialized = false;
},
hideDropdown: function(evt){
var inDropdown = $(evt.target).parents().is($(".dropdown-menu", this.dropdown));
var inHovercard = $.contains(app.hovercard.el, evt.target);
if(!inDropdown && !inHovercard && this.dropdownShowing()){
this.dropdown.removeClass("dropdown-open");
this.destroyScrollbar();
}
}
header_view.js:
app.views.Header = app.views.Base.extend({
templateName: "header",
className: "dark-header",
events: {
"focusin #q": "toggleSearchActive",
"focusout #q": "toggleSearchActive"
},
presenter: function() {
return _.extend({}, this.defaultPresenter(), {
podname: gon.appConfig.settings.podname
});
},
postRenderTemplate: function(){
new app.views.Notifications({ el: "#notification-dropdown" });
this.notificationDropdown = new app.views.NotificationDropdown({ el: "#notification-dropdown" });
new app.views.Search({ el: "#header-search-form" });
},
menuElement: function(){ return this.$("ul.dropdown"); },
toggleSearchActive: function(evt){
// jQuery produces two events for focus/blur (for bubbling)
// don't rely on which event arrives first, by allowing for both variants
var isActive = (_.indexOf(["focus","focusin"], evt.type) !== -1);
$(evt.target).toggleClass("active", isActive);
return false;
}
});
在RoR应用程序中,当同时单击某个图标时,会打开和关闭一个下拉列表以获取通知。hideDropdown应该在打开时隐藏下拉列表,但它没有,我得到了错误:
未捕获的类型错误:无法读取未定义的属性"el">
我想这与"这个"有关。有人能帮忙吗?
您是否已将el分配给视图?类似:
headerView = new App.Views.HeaderView
el: '#header'
您可以在视图中指定el的选择器http://backbonejs.org/#View-el
相关文章:
- 如何使用javascript将值引导下拉列表设置为隐藏值asp.net
- 当链接单击-jQuery时,第二层下拉列表将隐藏
- 使用2个下拉列表显示/隐藏分区
- 选中复选框时如何显示/隐藏下拉列表
- HTML 表单字段根据从下拉列表中选择的选项显示/隐藏
- 删除或隐藏下拉列表中的一些值,该列表由使用JavaScript的存储过程填充
- jQuery 根据数组值隐藏下拉列表的选项
- 使用 jQuery 隐藏下拉列表,但它失败了
- 当存在粘性标头时隐藏下拉列表“插入符号”
- j查询页面加载时如何隐藏下拉列表
- 根据一个子jQuery单独隐藏下拉列表
- Javascript显示隐藏下拉列表;我工作不好
- 单击任意位置时,javascript隐藏下拉列表
- asp.net使用javascript隐藏下拉列表中的特定项目
- 单击菜单以外的任何位置时,jQuery都会隐藏下拉列表
- 如何在页面加载时隐藏下拉列表
- Jquery隐藏下拉列表不工作
- 试图在主干网中隐藏下拉列表出错
- 如何在选择框中隐藏下拉列表
- 根据多选选择显示/隐藏下拉列表