这是你的功能:
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