【发布时间】:2011-01-04 15:10:18
【问题描述】:
场景是:旧网站已经写了很多 JS 代码。如果用户想将所有警报消息更改为基于 JQuery、YUI、Prototype 等非常常见的新时代爵士 Div 警报。
主要有tree JS dialogs
1.提醒
要改变这一点很简单,我们只需要编写新函数来显示 div 弹出窗口并显示消息,然后覆盖 window.alert
function showDivAlert(strMessage){
//div popup logic and code
}
window.alert = showDivAlert;
2.提示
这看起来也很容易编写函数来接受字符串并显示输入值的文本框。现在,由于返回动作是基于单击“确定”按钮的,所以在这里生活很容易。
function shoDivPromp(strMessage){
//div pop up to show the text box and accept input from the user
}
window.prompt = shoDivPromp;
3.确认
现在上面两个很容易覆盖和修改默认对话框,但确认有复杂性。
但是,默认的 JS 确认对话框会停止 JS 执行,并且当用户单击确定或取消时,会通过确定返回值 (true/false) 来恢复执行。但是,如果我们使用 div 弹出窗口,执行不会停止,这就是问题。
我们仍然可以实现确认,但在这种情况下,我们必须绑定 OK 和 CANCEL 案例的方法,这些方法将附加到 OK 和 CANCEL 按钮。有了这个函数签名就会像。
function newConfirm(msg, fun OkAction(), fun CancelAction)
现在这是一个问题,它不能帮助我改变整个站点的确认对话框,就像我们对 alert() 所做的那样;
问题
我不确定它是否可能实现,但我认为可以使用一些 JS 模式。如果可能,请告诉我。
【问题讨论】:
-
我不明白你如何解决提示但不确认。如何获取提示调用的输入值?
-
哦,我认为你是对的,我没有抓住重点,提示对话框也存在关于确认同步的问题......抱歉,我在思考时错过了这个。
标签: asp.net javascript jquery ajax