Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/411.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 正在主干中的delegateEvents中查找呈现事件。查看_Javascript_Jquery_Backbone.js_Marionette_Backbone Views - Fatal编程技术网

Javascript 正在主干中的delegateEvents中查找呈现事件。查看

Javascript 正在主干中的delegateEvents中查找呈现事件。查看,javascript,jquery,backbone.js,marionette,backbone-views,Javascript,Jquery,Backbone.js,Marionette,Backbone Views,我有一个关于主干网的问题。View及其delegateEvents。您可以在文档中阅读有关扩展方法的信息。使用此方法,可以“覆盖渲染函数,指定声明性事件”等 我有一个关于声明性事件或委派事件的问题(不确定该如何称呼它)。对它们进行了描述。下面是一个例子: var DocumentView = Backbone.View.extend({ events: { "dblclick" : "open", "click .icon.doc"

我有一个关于
主干网的问题。View
及其
delegateEvents
。您可以在文档中阅读有关扩展方法的信息。使用此方法,可以“覆盖渲染函数,指定声明性事件”等

我有一个关于声明性事件委派事件的问题(不确定该如何称呼它)。对它们进行了描述。下面是一个例子:

  var DocumentView = Backbone.View.extend({
  events: {
    "dblclick"                : "open",
    "click .icon.doc"         : "select",
    "contextmenu .icon.doc"   : "showMenu",
    "click .show_notes"       : "toggleNotes",
    "click .title .lock"      : "editAccessLevel",
    "mouseover .title .date"  : "showTooltip"
  },    
  open: function() {
    window.open(this.model.get("viewer_url"));
  },
  select: function() {
    this.model.set({selected: true});
  }, 
  ...
});
如您所见,您可以在模板DOM中的特定对象上添加不同的事件。如
单击
鼠标盖
。因此,有了这个模板:

<foo></foo>
{#myplayers}
<player class="normal" value="{player}" style="{style}"></player>
{/myplayers}
我的问题:我可以用与单击事件类似的方式声明渲染事件吗?我想在渲染单个播放器(而不是整个列表)时捕捉事件。我需要在那里获取
e.currentTarget
,并稍微更改它的css

我在找这样的东西:

    events: {
        'click player': 'playerClick'
    },
    playerClick: function( e ) {
        var playerValue = e.currentTarget.getAttribute( 'value' );
        // HERE: e.currentTarget I've particular player

    }
events: {
    'render player': 'playerRendered'
},
playerRendered: function( e ) {
    var playerValue = e.currentTarget.getAttribute( 'value' );
    // HERE: e.currentTarget I've particular player

}

我该怎么做?因为delegateEvents中的渲染不起作用:/

可能在视图中的初始化函数中,可以使用渲染的listenTo。诸如此类:

var view = Backbone.View.extend({
    className: 'list-container',
    template: _.template($('#my-template').html()),
    initialize: function () {
      this.listenTo(this, 'render', function () {
        console.info('actions');          
      });
    },
    render: function() {
      this.$el.html(this.template(this));
      return this;
    },
});
然后:

var myView = new view();
myView.render();
myView.trigger('render');
$('#container').html(myView.el);
还是在你的视野之外

  view.$(".myselector").trigger("render");
   this.$(".myselector").trigger("render");
  view.$(".myselector").trigger("render");