我使用的是javascript揭示原型模式,并且我想添加一个回调。我正在尝试类似这样的东西:
http://jsfiddle.net/Qyhrb/2/
var Refinements = function () { };
Refinements.prototype = function () {
Init = function () {
$('.btn').click(Callback);
},
Callback = function(){
alert('default function');
};
return { Init: Init, Callback : Callback };
}();
var refinements = new Refinements();
refinements.Callback = function(){ alert('new method'); };
refinements.Init();本质上,我想要做的是将一个回调传递到对象中,并在事件发生时引发该回调。
发布于 2012-07-21 03:10:13
Init = function () {
var refinement = this;
$('.btn').click(refinement.Callback || Callback);
},Fiddle
发布于 2012-07-21 03:12:28
var Refinements = function() {};
Refinements.prototype = function() {
return {
init: function() {
$('.btn').click(this.callback);
},
callback: function() {
alert('default function');
}
}
}();
var refinements = new Refinements();
refinements.callback = function() {
alert('new method');
};
refinements.init();发布于 2012-07-21 03:13:23
当我分离出原型函数,并删除return { Init: Init, Callback : Callback };片段时,一切似乎都很正常。
function Refinements() {}
Refinements.prototype.Init = function() {
$('.btn').click(this.Callback);
};
Refinements.prototype.Callback = function() {
alert('default function');
};
var refinements = new Refinements();
refinements.Callback = function(){ alert('new method'); };
refinements.Init();http://jsfiddle.net/Qyhrb/8/
https://stackoverflow.com/questions/11585442
复制相似问题