更改默认alert框体

简介:

更改框体主要用到的是更改系统的内置控件winpop下面是winpop具体代码

(function(window, jQuery, undefined) {
 2 
 3 var HTMLS = {
 4 ovl: '<div class="J_WinpopMask winpop-mask" id="J_WinpopMask"></div>' + '<div class="J_WinpopBox winpop-box" id="J_WinpopBox">' + '<div class="J_WinpopMain winpop-main"></div>' + '<div class="J_WinpopBtns winpop-btns"></div>' + '</div>',
 5 alert: '<input type="button" class="J_AltBtn pop-btn alert-button" value="确定">',
 6 confirm: '<input type="button" class="J_CfmFalse pop-btn confirm-false" value="取消">' + '<input type="button" class="J_CfmTrue pop-btn confirm-true" value="确定">'
 7 }
 8 
 9 function Winpop() {
 10 var config = {};
 11 this.get = function(n) {
 12 return config[n];
 13 }
 14 
 15 this.set = function(n, v) {
 16 config[n] = v;
 17 }
 18 this.init();
 19 }
 20 
 21 Winpop.prototype = {
 22 init: function() {
 23 this.createDom();
 24 this.bindEvent();
 25 },
 26 createDom: function() {
 27 var body = jQuery("body"),
 28 ovl = jQuery("#J_WinpopBox");
 29 
 30 if (ovl.length === 0) {
 31 body.append(HTMLS.ovl);
 32 }
 33 
 34 this.set("ovl", jQuery("#J_WinpopBox"));
 35 this.set("mask", jQuery("#J_WinpopMask"));
 36 },
 37 bindEvent: function() {
 38 var _this = this,
 39 ovl = _this.get("ovl"),
 40 mask = _this.get("mask");
 41 ovl.on("click", ".J_AltBtn", function(e) {
 42 _this.hide();
 43 });
 44 ovl.on("click", ".J_CfmTrue", function(e) {
 45 var cb = _this.get("confirmBack");
 46 _this.hide();
 47 cb && cb(true);
 48 });
 49 ovl.on("click", ".J_CfmFalse", function(e) {
 50 var cb = _this.get("confirmBack");
 51 _this.hide();
 52 cb && cb(false);
 53 });
 54 mask.on("click", function(e) {
 55 _this.hide();
 56 });
 57 jQuery(document).on("keyup", function(e) {
 58 var kc = e.keyCode,
 59 cb = _this.get("confirmBack");;
 60 if (kc === 27) {
 61 _this.hide();
 62 } else if (kc === 13) {
 63 _this.hide();
 64 if (_this.get("type") === "confirm") {
 65 cb && cb(true);
 66 }
 67 }
 68 });
 69 },
 70 alert: function(str, btnstr) {
 71 var str = typeof str === 'string' ? str : str.toString(),
 72 ovl = this.get("ovl");
 73 this.set("type", "alert");
 74 ovl.find(".J_WinpopMain").html(str);
 75 if (typeof btnstr == "undefined") {
 76 ovl.find(".J_WinpopBtns").html(HTMLS.alert);
 77 } else {
 78 ovl.find(".J_WinpopBtns").html(btnstr);
 79 }
 80 this.show();
 81 },
 82 confirm: function(str, callback) {
 83 var str = typeof str === 'string' ? str : str.toString(),
 84 ovl = this.get("ovl");
 85 this.set("type", "confirm");
 86 ovl.find(".J_WinpopMain").html(str);
 87 ovl.find(".J_WinpopBtns").html(HTMLS.confirm);
 88 this.set("confirmBack", (callback || function() {}));
 89 this.show();
 90 },
 91 show: function() {
 92 this.get("ovl").show();
 93 this.get("mask").show();
 94 },
 95 hide: function() {
 96 var ovl = this.get("ovl");
 97 ovl.find(".J_WinpopMain").html("");
 98 ovl.find(".J_WinpopBtns").html("");
 99 ovl.hide();
100 this.get("mask").hide();
101 },
102 destory: function() {
103 this.get("ovl").remove();
104 this.get("mask").remove();
105 delete window.alert;
106 delete window.confirm;
107 }
108 };
109 
110 var obj = new Winpop();
111 window.alert = function(str) {
112 obj.alert.call(obj, str);
113 };
114 window.confirm = function(str, cb) {
115 obj.confirm.call(obj, str, cb);
116 };
117 })(window, jQuery);

然后实例化对象

1 var obj = new Winpop(); // 创建一个Winpop的实例对象
2 // 覆盖alert控件
3 window.alert = function(str) {
4 obj.alert.call(obj, str);
5 };
6 // 覆盖confirm控件
7 window.confirm = function(str, cb) {
8 obj.confirm.call(obj, str, cb);
9 };

以下JS不可少

<script src="http://code.jquery.com/jquery-1.11.1.min.js"></script>
<script src="winpop.js"></script>


转载:http://www.cnblogs.com/zqzjs/p/4417453.html

目录
相关文章
|
10月前
|
Shell Linux 开发工具
哇~真的是你呀!今天是用户操作中的修改属性、密码设置、删除
在Linux系统中,修改属性、密码设置和删除用户都是管理用户和文件系统的常见操作,下面让我们一起来看看。
70 1
|
2月前
|
JavaScript 前端开发 开发者
成功解决:el-popconfirm组件来确认删除、修改等操作无效
这篇文章提供了解决Element UI中el-popconfirm组件在执行确认删除、修改等操作时无效问题的步骤和方法,包括确认方法创建、检查版本兼容性、解决组件作用域问题、确保文本和CSS无冲突、检查事件绑定、预期问题和调试提示。
成功解决:el-popconfirm组件来确认删除、修改等操作无效
|
5月前
|
Shell
取消hosts文件隐藏属性的方法
取消hosts文件隐藏属性的方法
|
5月前
|
开发者
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
在用户关闭页面时,提示用户有内容未保存-论onbeforeunload事件的用法
77 0
|
11月前
|
JavaScript
JS设置select下拉框默认选中
JS设置select下拉框默认选中
106 0
|
JavaScript
jQuery val(); input 获取与设置默认输入内容
jQuery val(); input 获取与设置默认输入内容
65 0
|
JavaScript
js根据内容让select默认选中
js根据内容让select默认选中
X11/XWindow更改属性代码
X11/XWindow更改属性代码
107 0
页面加载显示${xxx.yyy},不显示内容(el表达式默认不解析的问题)的解决办法
页面加载显示${xxx.yyy},不显示内容(el表达式默认不解析的问题)的解决办法
页面加载显示${xxx.yyy},不显示内容(el表达式默认不解析的问题)的解决办法
|
JavaScript
【mpvue】radio-group 标签组设置默认选择checked: 'true',选择了单选按钮的非默认选项,再点击其他的选择,单选按钮又会变成默认的选项
1、问题举例描述: radio-group 标签组设置默认选择checked: ‘true’,选择了单选按钮的非默认选项(场外),再点击其他的选择(手续费率),单选按钮又会变成默认的选项(场内) 默认状态如下:
484 0
【mpvue】radio-group 标签组设置默认选择checked: 'true',选择了单选按钮的非默认选项,再点击其他的选择,单选按钮又会变成默认的选项