亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下所示,瀏覽器中能否實現不彈出對話框而暫停后面的函數執行呢?

如下所示,瀏覽器中能否實現不彈出對話框而暫停后面的函數執行呢?

慕容森 2023-04-13 15:11:20
我問題的關鍵就是可暫停腳本,也就是在js中把當前腳本hold住,其效果就是alert或者confirm產生的效果,后面的程序都不運行了,只有等到我點擊了確定以后才能繼續執行。但是這兩個函數彈出的對話框是程序控制樣式的,瀏覽器中能否實現不彈出對話框而暫停后面的函數執行呢?這樣我就能實現自己的modal對話框,從而完全不改變原有代碼地替換掉原來的confirm。
查看完整描述

2 回答

?
皈依舞

TA貢獻1851條經驗 獲得超3個贊

理想很豐滿,現實很殘酷,alert,confirm是系統級別的,自己用javascript些的dialog只能用回調函數來做,也就是把暫停后面的代碼放入確定或者取消或者關閉之后的回調函數來執行,實際上是一樣的,或者使用定時器(不過這應該很搓),如

<script>var alert_ok = false;function myalert(){//這個是自定義的alert實現省略alert_ok = true; //如果點擊確定則將alert_ok賦值true}//然后輪詢setInterval(function(){    if(alert_ok){        //這里做你要做的事情
    }
},10)</script>

上面的例子很爛,僅僅說明一點JS只能回調,應該不太可能暫停


查看完整回答
反對 回復 2023-04-17
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

對你的問題我只能說:深表遺憾

不過要達成你的目的是有很多更好的方法的。

你可以自己創建一個對話框,然后在對話框的確定和取消按鈕上加click事件:

// 假設有三個對象confirmFrame, btnOk, btnCancel// 為了方便假設他們都是jquery對象
btnOk.click(function() {    // 處理點擊ok的邏輯
});

btnCancel.click(function() {    // dismiss掉對話框
    confirmFrame.hide();    // 如果用了陰影層,也影藏掉
    shadow.hide();
})


查看完整回答
反對 回復 2023-04-17
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號