搜尋

首頁  >  問答  >  主體

javascript - jq或js如何關閉已經開啟的alert對話框

jq或js如何關閉已經開啟的alert對話框

我已經透過一個回呼函數開啟了一個alert,現在想讓他顯示幾秒鐘後自動關閉,請問jq如何做到,js也行,函數劫持的話,針對的是當前頁面所有的alert,我目前只需要控制其中一個alert,跪求前端大神解答

ps:不是問題重點,我怕有人問我為啥這麼做……
另外,我這個是用於H5的web Notification的,透過Notification的點擊回呼打開已經縮小的頁面,不知道怎麼寫,只好用alert來讓頁面重新最大化

var msg = 'test';
var n = new Notification("来自用户xxxx的新消息", {  
    icon: 'pic.png',  
    body: '消息内容:'+msg  
});  
n.onclick = function() {
    alert(1234);
    //想通过劫持函数来重新定义alert函数……但是好像是全局的……
    var ALERT_ON = true; 
    var _alert = window.alert;
    window.alert = function(msg) {
        if (ALERT_ON) {
            _alert(msg);
        }
    }
    //location.reload();
    n.close();
};
天蓬老师天蓬老师2755 天前882

全部回覆(3)我來回復

  • 某草草

    某草草2017-05-19 10:26:57

    alert彈出的窗口,好像沒有辦法自動關閉。
    可以自己寫一個alert彈跳窗。


    我重新編輯一下 up主想要的效果。
    點選Notification通知放大或顯示目前頁面。

    直接再Notification的onclick裡加這行程式碼就可以了。

    window.focus();
    

    回覆
    0
  • PHP中文网

    PHP中文网2017-05-19 10:26:57

    alert會中斷JS的執行,所以這需求沒辦法實現。

    回覆
    0
  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-19 10:26:57

    因為alert是沒辦法關閉,只能停用,所以建議自己手寫個彈出框。
    自己用p寫個遮罩的彈出模態框,然後setTimeout定時關閉。

    回覆
    0
  • 取消回覆