我有一个 View ,它在某些选择控件上定义了更改事件,但它们似乎没有触发。 View 是这样的:
var FiltersView = Backbone.Marionette.ItemView.extend({
template: FiltersTmpl,
events: {
'change #panel_filters select': 'enableSearch'
},
enableSearch: function() {
debugger;
}
});
当我更改下拉列表时,enableSearch
不会触发。但是,使用 Chrome 开发工具,我可以使用 jQuery 设置像这样的事件处理程序 $("#panel_filters select").change(function() { debugger; });
,事实上确实如此火。所以我知道选择器是正确的并且选择正在触发更改事件。我知道这一定是一个简单的语法问题,但对我来说这似乎是正确的语法。
最佳答案
好吧,我明白了。 #panel_filters
实际上是我将 View 注入(inject)到的元素。从技术上讲,它被认为是在 View 之外。显然, View 事件的范围仅限于 View 本身。我想这很方便,但我不知道。很高兴知道:-)
关于backbone.js - 主干选择更改事件未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18661395/