出于某种原因,我需要使用一个变量作为 Backbone 事件的选择器,但我不知道该怎么做:
app.views.Selfcare = Backbone.View.extend({
events: {
click window.parent.document .close : "closeWindow"
},
closeWindow: function() {
//code
}
});
我必须使用不同的范围,但我不能执行“click .close”:“closeWindow”。
感谢您的帮助。
最佳答案
我查看了 Backbone.js 的源代码,发现如果您的 View 的 events
是一个函数,那么该函数将被调用,并且它的返回值将用作 events
对象。
这意味着您的代码可以这样更改:
app.views.Selfcare = Backbone.View.extend({
events: function() {
var _events = {
// all "standard" events can be here if you like
}
_events["events" + "with variables"] = "closeWindow";
return _events;
},
closeWindow: function() {
//code
}
});
THIS 是源码中比较有趣的部分:
if (_.isFunction(events)) events = events.call(this);
更新:
示例在 JSFiddle 上可用 HERE **
关于javascript - 在事件中为选择器使用变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8400450/