为什么我不能在 Backbone 的视图事件中的一个语句中将单个事件绑定到多个选择器
Why can't I bind a single event to multiple selectors in one statement in Backbone's View events?
我有以下骨干视图:
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"]
调用。
请帮助我,我做错了什么?
来自精细手册:
代表事件
delegateEvents([events])
[...]事件以{"event selector": "callback"}
格式写入。
因此,所讨论的事件是 events
对象中键的第一个空格分隔组件。将其应用于您拥有的内容,'change'
作为事件,[name="title"], change [name="body"]
作为选择器;此外,逗号是一个多重选择器,因此您的选择器(如 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'
}
相关文章:
- 如何在提示下获取和使用从window.onbeforeunload事件的返回语句显示的值
- js事件,用于函数内部的when语句变为true
- 开关语句不适用于单击事件
- 使用事件onclick访问if语句Javascript中变量的值
- 试图了解如何将If语句与事件一起使用
- If语句,然后单击JavaScript中的事件
- 如何仅在两个事件在 JavaScript 中同时触发时才分配语句
- 如何在触发更改事件后使语句生效
- 一些javascript代码不工作-事件处理程序'onclick'中的if()语句
- 为什么javaScript / jQuery似乎忽略了我的事件冒泡IF语句
- 如何在if语句中检查鼠标移动事件
- 如果javascript的else语句点击事件
- 对文本更改事件的if-else语句有问题
- 如何在if语句中指定一个事件作为条件(jQuery)
- 更改指针事件的问题:由于if语句、嵌套,没有
- 如何在JQuery中运行变化和加载事件时的语句
- 向if语句添加事件监听器
- 如何发送“这个”到事件绑定语句中的命名函数
- 编写内联javascript if语句onclick或任何其他JS事件
- Transitionend用if语句触发+1事件