我有這個全局函數接受配置對象來顯示參數$.dialog
。eventHandler結束時的Javascript調用函數
這是源
function close() {
$(this).dialog('close').remove();
};
function modal(options) {
var opt = {
'modal': true,
'width': 400,
'close': close,
'buttons': options.buttons || { Ok: close }
};
var dialog = $('<div>')
.attr('id', 'dialog')
.attr('title', options.title || 'Info')
.append($('<p>').text(options.content));
$('body').append(dialog);
dialog.dialog(opt);
}
但我希望讓更容易通過實現一種小提醒對象的,以便不寫醜和日誌配置對象,還挺喜歡說話的方法來調用它$.get()
和$.post()
方法。
每次創建和銷燬dialog
的原因是,這樣做是非常簡單的,而不是重寫現有的。
我到目前爲止的問題是,我必須記得在每個eventHandler結束時調用close
函數。
所以我提醒對象看起來像這樣
var alert = { //the name is work in progress, don't worry
info: function(text, okHandler){
modal({
content: text,
buttons: {
Ok: okHandler //here I want to append automatically the close() function
}
});
},
error: ...
};
,我想這樣稱呼它
alert.info('Success!', function(){
doSomething();
//then close without me having to remember to do so
});
是我想達到什麼可能?我一直在尋找進入Function.prototype.call()
方法來做到這一點,但它的其他用途
這是很難理解的基本問題,你能解釋你的問題從一個通用的例子沒有明確的項目上下文? –