我有一个运行警报的游戏,确认并提示运行界面。我意识到这不是最好的方法,因为我不知道如何使用jQuery而且我没有时间去编辑整个事情,我可以直接转换它。
我发现下面有一个脚本可以为我转换警报,但是如何对提示和确认做同样的事情呢?
jQuery的:
window.alert = function(message) {
$('<div />').text(message).dialog({
modal:true,
title:'Message',
buttons: {
'OK':function(){
$(this).dialog('close');
}
},
close:function(){
$(this).dialog('destroy').remove();
}
});
};
HTML:
<div id="overrideAlert"></div>
答案 0 :(得分:0)
为了确认它应该几乎相同。试试这段代码:
window.confirm = function(message) {
$('<div />').text(message).dialog({
modal:true,
title:'Message',
buttons: {
'OK':function(){
$(this).dialog('close');
return true;
},
'CANCEL': function () {
$(this).dialog('close');
return false;
}
},
close:function(){
$(this).dialog('destroy').remove();
return false;
}
});
};
答案 1 :(得分:0)
我前段时间尝试过,只是上传为GitHub gist。
但是BE AWARE:即使你的alert()实现也不完全等同于本机window.alert()实现,因为你不能停止javascript内部循环(参见我的代码中的注释)。
这可能导致使用alert()替换的严重问题,并使confirm()和prompt()实现(我认为完全)不可能。
编辑: Konstantin Dinev解决方案无效,因为他的confirm()函数会立即退出(返回undefined),就像你的alert()实现一样(对不起,我无法评论他的帖子)直接地)。
......我刚才考虑过(但尚未实施)更好的解决方案不是重新定义alert(),confirm()和prompt()并将其替换为其他实现,< STRONG>总部设在回调(什么暗示你应该修改你的代码位),可与jQuery实现它和可选的故障恢复(如果你想)到窗口对话框如果jQuery是没有可用的基于执行。