asp.net – 要解决的JavaScript难题:window.confirm = divConfirm(strMe
|
场景是:旧网站已经编写了很多JS代码.如果用户想要将所有警报消息更改为使用JQuery,YUI,Prototype等非常常见的新时代基于Div的警报.
要改变它的简单,我们只需编写新的函数,它将显示div弹出窗口并显示消息,然后覆盖window.alert function showDivAlert(strMessage){ 提示 这也很容易编写函数来接受字符串并显示输入值的文本框.现在返回操作基于点击“确定”按钮,这里的生活很简单. function shoDivPromp(strMessage){ 3.确认 现在,上面两个很容易覆盖和修改默认对话框,但确认并不复杂. 解决方法
那是对的.在本机JavaScript中无法重现警报/确认/提示功能的同步特性.有一个非标准的方法showModalDialog可以使用一个单独的弹出文档来完成它,但它并不是所有浏览器都支持它,它通常被认为是非常不受欢迎的. 因此,插件替换策略不会起作用.您将不得不在脚本的其余部分中更改您调用这些方法的每个位置. 通常的模式是使用内联匿名函数来执行它,以使用闭包来保留局部变量,例如.更换: function buttonclick() {
var id= this.id;
if (confirm('Are you sure you want to frob '+id+'?'))
frob(id);
wipe(id);
}
有: function buttonclick() {
var id= this.id;
myConfirm('Are you sure you want to frob '+id+'?',function(confirmed) {
if (confirmed)
frob(id);
wipe(id);
});
}
如果需要保留它,则需要查看另一个嵌套闭包或function.bind来执行此操作.如果你有一个在循环中确认的话,事情会变得更加困难. 显然,您还必须确保在确认框启动时关键的全局状态不会发生变化.通常,通过使用叠加层覆盖页面的其余部分来阻止点击通过,可以最大限度地降低风险.但是,如果你有超时,他们仍然可以开火. (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ASP.NET网址MAX_PATH限制
- asp.net-mvc – 在VS2012中调试MVC应用程序尝试启动IIS Exp
- asp.net – 正则表达式匹配10-14位数
- asp.net-mvc – ASP.NET MVC在Html帮助器中使用部分渲染
- asp.net – 如何使用横向方向将页面大小设置为信封大小?
- asp.net – System.Web.AspNetHostingPermission SecurityE
- asp.net-mvc-2 – 在ASP.NET MVC2中向客户端返回http 204“
- asp.net – Internet Explorer中的图像加载超时
- asp.net-mvc-4 – Durandal.js:更改每个区域的导航选项
- asp.net-mvc – 在数据库表中存储用户筛选查询参数的最佳方
- asp.net-mvc-3 – ASP.Net MVC 3 JSON模型绑定和
- asp.net – Xdocument不打印声明
- asp.net-mvc – MVC HTML.RenderAction – 错误:
- asp.net – 如何使用javascript生成假回发?
- 在ASP.NET Web App中查找内存泄漏
- asp.net – 测试后的NUnit回滚
- asp.net – .NET – 如何调试DLL?
- asp.net – XmlSerializer可以反序列化为Nullabl
- asp.net-core – Netcore 2.1.1版本导致应用程序
- asp.net-mvc – 从扩展Apicontroller的MVC控制器
