這是你的功能:
function createDialog(title, content)
{
return $('<div></div>')
.html(content || 'Defualt content.')
.dialog({
height : 140,
modal : true,
autoOpen : false,
title : title || 'Defualt title'
});
}
然後,您可以調用該函數是這樣的:
$dialog = createDialog('Basic Dialog', 'This dialog will show every time!');
,然後用$dialog.dialog('open')
打開它,你有,或者你可以立即打開:
createDialog('Basic Dialog', 'This dialog will show every time!').dialog('open');
正如@LordZardeck指出的那樣,上述解決方案將導致太多的零散DOM節點。你最好重複使用同一個對話框(假設你一次只需要一個對話框是否安全?我當然希望如此!)。
如果你想保持你的DOM有點理智的,試試這個:
var createDialog = (function($)
{
var $dialog = $('<div></div>').dialog({
height : 140,
modal : true,
autoOpen : false
}),
$content = $dialog.find('.dialog-content');
return function (title, content)
{
$content.html(content || 'Default content.');
return $dialog.dialog('option', {
title : title || 'Defualt title'
});
}
})
(jQuery);
用法是一樣的與上面的一個。
謝謝!在(當前)6分鐘等待之後接受這個。 – Muzz 2012-02-05 06:15:26
我必須說,這是一個非常巧妙的解決方案!道具!如果你不介意,我會修改我的代碼來使用它! – LordZardeck 2012-02-05 18:35:03