用惯了Ext的事件监听函数,可以引用this.[function],但发现jquery中不支持这种写法。
Ext写法,这种写法很清析:
var class1 = function(){
hello: "hello",
MyFunction: function {
Ext.get("div1").addListener("click", this.divClickHandler, this);
},
divClickHandler: function(){
//这里可以引用到 this.hello
}
}
jquery把this重新维护了。只能这样写:
var class=function(){
MyFunction: function {
var _this = this;
$("#div1").click(function(){_this.divClickHandler()});
},
divClickHandler: function(){
//这里可以引用到 this.hello了
}
} }
本文对比了Ext和jQuery两种JavaScript库中的事件处理方式。在Ext中可以直接使用this引用类的方法,而在jQuery中则需要通过保存当前上下文到一个变量中再进行调用。文章通过实例详细解释了这两种不同实现。
1108

被折叠的 条评论
为什么被折叠?



