在最后一行中,如何确保我所指的“this”是实例化的 k8rModal 对象而不是运行该函数的对象?
对于未来的其他项目,我还需要动态构造 lambda 函数。如果没有全局变量,这可能吗?
function k8rModal(DOMnamespace){
var _ = this._ = DOMnamespace+"_"; // for DOM namespacing
this.tightWrap=1;
$('body').prepend('<div id="'+_+'stage"></div>');
this.stage = stage = $('#'+_+'stage');
stage.css({
'display':'none',
'width':'100%',
'height':'100%',
'color':'#333'
});
$('body').append('<div id="'+_+'slate"></div>');
this.slate = slate = $('#'+_+'slate');
slate.css({
'display':'none',
'width':'640px',
'height':'480px',
'color':'#eee'
});
$('body').delegate('.'+_+'caller','click',function(){
/* this... but not, this? */.appear();
});
}
k8rModal.prototype.appear = function(){
//make the modal box appear
}