在Backbone中,如何在列表项中的锚标记上获取单击事件

yacmzcpb  于 2022-11-10  发布在  其他
关注(0)|答案(1)|浏览(134)

在render函数的 Backbone.js 视图中,我有一个锚标签,其中的列表项位于无序列表中。

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>'));
  } 
});

我想在单击Link 2时打开一个警告框,而不导航到其他页面。

35g0bw71

35g0bw711#

您可以设置视图的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添加到第二个锚以选择它。
更多信息请参见文档。

相关问题