HTML中confirm替换,Javascript直接Confirm()函数替换
我想替換Javascript Confirm()函數以允許自定義按鈕,而不是Yes / Cancel.我嘗試搜索,但是所有解決方案都是事件驅動的,例如jquery對話框(其中代碼不等待響應,而是事件驅動的).有誰知道非事件驅動的解決方案.它必須在Safari和IE中都可以使用(因此沒有vbscript).
這是系統許多部分的示例代碼.這是舊的代碼,在設計時并未考慮事件驅動的窗口.我試圖避免重寫.
**
// Wait for users response
if (result>2000) {
if (confirm("Are you sure this is right?")){
... do stuff
}
}
... continue with other stuff
... lots of other code.
if (confirm("Did you double check your numbers?")){
... do more stuff
} else {
... do something
}
**
解決方法:
就像其他人說的那樣,這是不可能的.確認是一個阻止功能-在用戶關閉對話框之前不會再執行任何腳本-并且您無法使用其他Javascript方法來模擬該腳本.
更好的解決方案是為異步執行構造代碼.這幾乎總是一個更好的主意-首先,它使您可以決定對話框的外觀,有哪些按鈕等等.其次,它不會阻止用戶.他們可能需要仔細檢查在另一個選項卡或頁面上的其他位置打開的重要信息.確認之后,他們必須先回答您的問題,才能到達這些地方中的任何一個.
這是代碼的摘要.這里有很多空白,但這可能使您走上正軌:
if (result>2000) {
displayConfirm("Are you sure this is right?", {
"Yes": function () {
// ... do stuff
},
"No": function () {
// do.. nothing? up to you.
}
}
}
您將在此處看到定義了兩個函數,但實際上沒有一個函數被執行. displayConfirm函數必須構造一個對話框(以任何方式),然后創建按鈕,并將這些函數用作單擊處理程序(或至少從單擊處理程序調用它們).
標簽:confirm,javascript
來源: https://codeday.me/bug/20191202/2085862.html
總結
以上是生活随笔為你收集整理的HTML中confirm替换,Javascript直接Confirm()函数替换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算机科学之前说,国内计算机科学十强大学
- 下一篇: 计算机 注册表 远程桌面,仅允许运行使用