【发布时间】:2014-07-16 12:04:23
【问题描述】:
我正在使用 MarionetteJS v2.0.2,这是我的问题
我在下面有 itemView
var Users = Marionette.ItemView.extend({
template: 'user.html',
tagName: 'li',
attributes: {
class: 'name'
},
initialize: function () {
//console.log(this);
},
events: {
"click.name": "onClick"
},
onClick: function () {
console.log('click');
}
});
所以当我在我的事件中写“click.name”时,该事件被触发,但是当我写“click.name”(有一个空格)时它不是。
谁能帮我理解为什么?
【问题讨论】:
-
据我了解,您尝试点击根 ItemView 节点。只使用 { 'click' : 'onClick' },这不起作用,因为查看委托事件通过选择器查看 $el,因此在您的视图事件中没有 .name 不会触发 - Bacbone 视图 delegateEvents 方法部分 - if (selector === '') { this.$el.on(eventName, method); } else { this.$el.on(eventName, selector, method); }.
-
name.click 可以作为木偶中触发器支持的一部分,但我不确定
-
事件名称没有空格,这些空格与牵线木偶或骨干无关,这些事件被委托给 jQuery,这是一般规则 - 无论是 event 还是 event.namespace - 都没有空格跨度>
-
能否请您发布更多代码?