首页 > Windows开发 > 详细

重写window.alert

时间:2021-04-25 23:44:52      阅读:22      评论:0      收藏:0      [点我收藏+]

代码

window.alert = alert;
//重写alert
function alert (data, callback) { //回调函数
    var alert_bg = document.createElement(div),
    alert_box = document.createElement(div),
        alert_text = document.createElement(div),
        alert_btn = document.createElement(div),
        textNode = document.createTextNode(data ? data : ‘‘),
        btnText = document.createTextNode(确 定);

    // 控制样式
    css(alert_bg, {
        position: fixed,
        top: 0,
        left: 0,
        right: 0,
        bottom: 0,
        background-color: rgba(0, 0, 0, 0.1),
        z-index: 999999999
    });

    css(alert_box, {
        width: 270px,
        max-width: 90%,
        font-size: 16px,
        text-align: center,
        background-color: #fff,
        border-radius: 15px,
        position: absolute,
        top: 50%,
        left: 50%,
        transform: translate(-50%, -50%)
    });

    css(alert_text, {
        padding: ‘30px 15px,
        border-bottom: 1px solid #ddd
    });

    css(alert_btn, {
        padding: 10px 0,
        color: #007aff,
        font-weight: 600,
        cursor: pointer
    });

    // 内部结构套入
    alert_text.appendChild(textNode);
    alert_btn.appendChild(btnText);
    alert_box.appendChild(alert_text);
    alert_box.appendChild(alert_btn);
    alert_bg.appendChild(alert_box);

    // 整体显示到页面内
    document.getElementsByTagName(body)[0].appendChild(alert_bg);

    // 确定绑定点击事件删除标签
    alert_btn.onclick = function () {
        alert_bg.parentNode.removeChild(alert_bg);
        if (typeof callback === function) {
            callback(); //回调
        }
    }
}
function css (targetObj, cssObj) {
    var str = targetObj.getAttribute("style") ? targetObj.getAttribute(style) : ‘‘;
    for (var i in cssObj) {
        str += i + : + cssObj[i] + ;;
    }
    targetObj.style.cssText = str;
}

 

使用

alert(‘发现新版本,请更新!‘, callback)

 

重写window.alert

原文:https://www.cnblogs.com/it-Ren/p/14701431.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!