无法使用 <a> Backbone 的事件功能在 href 上捕获点击事件



我无法在骨干中的事件对象中捕获onclick事件。我在rails中使用link_to来生成<a>链接。有人能帮我一下吗?

HTML:

<div id="flash-messages">
<ul>
<li style="opacity: 1;">
<li style="opacity: 1;">
<li style="opacity: 1;">
<div class="alert alert-info">
<a id="consent-link" href="#">See here for more informationnn.</a>
<a class="controls close" aria-hidden="true" data-dismiss="alert" href="#">
<i class="icon-cancel fontLoaded"></i>
</a>

JS代码:

    module.exports = View.extend({
 
   template: template,
   events: {
    'click #btnSubmitModal': 'saveConsent',
    'click #consent-link' : 'openConsent'
   },
   openConsent: function(event){
    event.preventDefault();
    console.log ("asaasagsgsgs");
    view = new modalView({model: this.model})
   },

From the docs:

模板

view.template((数据))

而视图的模板不是由总之,定义模板函数通常是一个很好的约定关于你的观点。这样,在呈现视图时,您就有方便地访问实例数据。例如,使用下划线模板:

var LibraryView = Backbone.View.extend({
    template: _.template(...)
});

template是一个自定义属性,我们可以用它来指向模板函数。定义这个是不够的,你必须通过将数据传递给模板函数来创建实际的模板,并将结果HTML附加到views元素。

类似:

 module.exports = View.extend({
  initialize: function(){
    this.render();
  },
  template: Handlebars.compile(template), // where template is the handle bars template
  events: {
   'click #btnSubmitModal': 'saveConsent',
   'click #consent-link' : 'openConsent'
  },
  render: function(){
    this.$el.append(this.template(data)); //where data is the data you wish to pass to handle bars template function
  },
  openConsent: function(event){
    event.preventDefault();
    console.log ("asaasagsgsgs");
    view = new modalView({model: this.model})
  }
 });

事件处理程序的作用域为(委托给)视图的元素。一旦您将HTML附加到视图的元素(如上面示例的render方法所示),事件将开始工作。

相关内容

  • 没有找到相关文章

最新更新