为什么我不能在 Backbone 的视图事件的一条语句中将单个事件绑定到多个选择器?
Why can't I bind a single event to multiple selectors in one statement in Backbone's View events?
我有以下Backbone视图:
var View = Backbone.View.extend({
events: {
'change [name="title"], change [name="body"]': 'onChangeEvent'
},
onChangeEvent: function (e) {
// fires only for change [name="title"] event
}
});
我需要将 onChangeEvent
方法绑定到 change [name="title"]
和 change [name="body"]
事件。但是 onChangeEvent
方法只为 change [name="title"]
事件调用,而不为 change [name="body"]
.
调用
请帮帮我,我做错了什么?
来自fine manual:
delegateEvents delegateEvents([events])
[...] Events are written in the format {"event selector": "callback"}
.
所以有问题的事件是 events
对象中键的第一个 space 分隔部分。将其应用于您所拥有的 'change'
作为事件和 [name="title"], change [name="body"]
作为选择器;此外,逗号是 multiple selector,因此您的选择器(如 Backbone 所见)正在寻找具有 name="title"
属性的内容或具有 name="body"
属性的 <change>
元素。您没有任何 <change>
元素,但您确实有 name="title"
元素,因此您看到的是事件触发行为。
您可以将一个事件条目与多个选择器一起使用:
events: {
'change [name="title"], [name="body"]': 'onChangeEvent'
// -------------------^ but no extra 'change'
}
或两个单独的事件条目:
events: {
'change [name="title"]': 'onChangeEvent',
'change [name="body"]' : 'onChangeEvent'
}
我有以下Backbone视图:
var View = Backbone.View.extend({
events: {
'change [name="title"], change [name="body"]': 'onChangeEvent'
},
onChangeEvent: function (e) {
// fires only for change [name="title"] event
}
});
我需要将 onChangeEvent
方法绑定到 change [name="title"]
和 change [name="body"]
事件。但是 onChangeEvent
方法只为 change [name="title"]
事件调用,而不为 change [name="body"]
.
请帮帮我,我做错了什么?
来自fine manual:
delegateEvents
delegateEvents([events])
[...] Events are written in the format{"event selector": "callback"}
.
所以有问题的事件是 events
对象中键的第一个 space 分隔部分。将其应用于您所拥有的 'change'
作为事件和 [name="title"], change [name="body"]
作为选择器;此外,逗号是 multiple selector,因此您的选择器(如 Backbone 所见)正在寻找具有 name="title"
属性的内容或具有 name="body"
属性的 <change>
元素。您没有任何 <change>
元素,但您确实有 name="title"
元素,因此您看到的是事件触发行为。
您可以将一个事件条目与多个选择器一起使用:
events: {
'change [name="title"], [name="body"]': 'onChangeEvent'
// -------------------^ but no extra 'change'
}
或两个单独的事件条目:
events: {
'change [name="title"]': 'onChangeEvent',
'change [name="body"]' : 'onChangeEvent'
}