marionettejs - 获取生成的元素事件

时间:2017-02-09 14:30:54

标签: backbone.js marionette

我已经定义了LayoutView&在那个地区。对于一个地区,我附加了CompositeView。在CompositeView部分,我添加了ui block&触发块如

   ui: {
      checkbox: '#DivGrp1 input[type=checkbox]' 
   }  

    triggers: {
      'change @ui.checkbox': 'chk:clicked'
    },

在父课上,我正在听这个事件,比如

childEvents: {
  'chk:clicked':function(e){
   // e is referring to view & not checkbox
  }
}

我想访问引发事件的input元素。选中或取消选中哪个复选框。

这些复选框是动态的。

由于 Aniruddha

1 个答案:

答案 0 :(得分:1)

简答:在拥有该元素的视图中访问DOM。然后使用它的trigger方法手动触发事件,传递父视图所需的操作结果。

我不是木偶专家,但一般来说,从其他视图直接访问一个视图的元素并不是一个好主意。

在子视图本身中执行需要DOM访问的操作,如果要访问事件对象,请使用events属性。执行操作,然后使用trigger()方法触发事件父视图正在侦听。

这是:example from the official docs具有类似的结构。

如果你必须直接访问该元素,那么你可以将它的引用作为trigger()方法中的参数传递。但不建议这样做。