我试图设计一些类来支持回调功能.类MyClass1和MyClass2不起作用.Class3工作,但设计真的很糟糕.它使用外部类引用来调用方法.我想实现一个类似于MyClass1的设计,它更加清晰,不会与外部变量耦合.这个回调机制对于ajax调用来说真的很棒.$ j只是jQuery的别名.
function MyClass1() {
$j("#myDiv1").click(this.func);
this.func = function() {
alert("Inside method.");
}
}
var _class2;
function MyClass2() {
_class2 = this;
$j("#myDiv2").click( _class2.func );
this.func = function() {
alert("Inside method.");
}
}
function MyClass3() {
$j("#myDiv3").click( function() { cls3.func(); } );
this.func = function() {
alert("Inside method.");
}
}
var cls1 = new MyClass1();
var cls2 = new MyClass2();
var cls3 = new MyClass3();
Run Code Online (Sandbox Code Playgroud)
闭包是你的朋友.
function MyClass()
{
// This local variable can be closed by the anonymous
// function below
var self = this;
$('#myDiv1').click( function()
{
self.func();
});
this.func = function()
{
alert("Inside method.");
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
273 次 |
| 最近记录: |