javascript - 在 Backbone 中,如何在列表项中的锚标记上获取单击事件
问题描述
在渲染函数的主干视图中,我有一个锚标记,其中包含一个无序列表中的列表项。简而言之
var DemoView = Backbone.View.extend({
el: '#body',
render: function() {
this.$('sidebar-nav > ul').append($('<li class="divider"></li>'));
this.$('.sidebar-nav > ul')
.append($('<li><a href="' + _.path(Overture.contextPath, '/calendars/',
this.controller.model.id,'/preview') + '" class="internal-link">Link 1</a></li>'));
this.$('.sidebar-nav > ul')
.append($('<li><a href="#" class="internal-link">Link 2</a></li>'));
}
});
我想在单击链接 2时打开一个警报框,而不导航到其他页面。
解决方案
您可以设置视图的events
:
var DemoView = Backbone.View.extend({
el: '#body',
events: {
'click .alert-link': onAlertLinkClick
},
onAlertLinkClick: function() {
// put your alert code here
},
render: function() {
this.$('sidebar-nav > ul').append($('<li class="divider"></li>'));
this.$('.sidebar-nav > ul')
.append($('<li><a href="' + _.path(Overture.contextPath, '/calendars/',
this.controller.model.id,'/preview') + '" class="internal-link">Link 1</a></li>'));
this.$('.sidebar-nav > ul')
.append($('<li><a href="#" class="internal-link alert-link">Link 2</a></li>'));
}
});
当然,您必须将其添加alert-link
到第二个锚点才能选择它。
推荐阅读
- python - 如何在 Tensorflow 的神经网络的一层中实现不同的激活函数?
- android - 计算捕获图像中的人数
- objective-c - NSPopUpButton:NSPopUpButtonCell 已弃用?
- html - 导航栏中下拉菜单列表中的第二列
- rxjs - RxJs 热范围可观察
- sql - 将额外的条目移动到 SQL Server 中的新行
- c# - 编辑 ListView Xamarin.Forms 中各个行的文本颜色
- javascript - 如何创建循环以查看是否正确填写了所需的输入行
- sharepoint - 在现代网站中添加 SPFx webpart 时的 Javascript
- c# - 没有为此对象定义无参数构造函数 nopCommerce 4.0