我使用jQuery创建了一个'control',并使用jQuery.extend来帮助尽可能地将其作为OO.
在我的控件初始化期间,我连接各种点击事件,如此
jQuery('#available input',
this.controlDiv).bind('click', this, this.availableCategoryClick);
Run Code Online (Sandbox Code Playgroud)
请注意,我将'this'作为bind方法中的data参数.我这样做是为了让我可以获取附加到控件实例的数据而不是触发click事件的元素.
这很好用,但我怀疑有更好的方法
在过去使用过Prototype之后,我记得一个绑定语法,它允许你控制事件中'this'的值.
什么是jQuery方式?
我有这段代码
var o = {
f: function() {
console.log(this);
}
}
var o2 = {
h:function(m){m()}
};
o2.h(o.f)
Run Code Online (Sandbox Code Playgroud)
控制台打印 - >窗口
任何人都可以解释为什么我有窗户而不是o2?谢谢.