как можно делать замечания, если не хочеться вникать в этот код?
(смайлик как у Octane) И при чем тут замена alert'а?
кстати,
Octane, ты как-то абстрактно, имхо, подошел к вынесению функциональности. Т.е. я в первую очередь исхожу из того, как что-то будет использоваться. Selection.get() выглядит симпатичнее по сравнению с $Range.stringify($Selection.getRange()). Может, твой вариант чем-то лучше, но я пока не вижу чем. Он сложнее
и все-таки лучше отменять скрытие панели, а то оно может скрыть панель для нового выделения
Function.prototype.makeCancelable = function(){
var self = this;
var r = function(){
if( r.canceled )
return;
return self.apply(this, arguments);
};
r.cancel = function(){
this.canceled = true;
}
return r;
}
var QuotePanel = new Class({
_onMouseUp_body: function( e ){
...
this._panel
...
.animate(
{ ... },
{
'complete': function(){
this._hidePanelCancelable = this._hidePanel().of(this).makeCancelable();
setTimeout( this._hidePanelCancelable, 3000 );
}.of(this)
});
},
_onClick_body: function( e ){
...
if( this._hidePanelCancelable )
this._hidePanelCancelable.cancel();
this._hidePanel();
},
_hidePanel: function(){
this._panel.css('display', '');
}
});