要创建自定义"确认"并暂停执行js直到用户单击按钮,您可以使用JavaScript的async/await
功能和Promise
对象。以下是一个示例:
// 创建一个自定义确认对话框
function customConfirm(message) {
return new Promise(resolve => {
const confirmBox = document.createElement("div");
confirmBox.innerHTML = `
<p>${message}</p>
<button id="confirmYes">是</button>
<button id="confirmNo">否</button>
`;
document.body.appendChild(confirmBox);
document.getElementById("confirmYes").onclick = () => {
resolve(true);
confirmBox.remove();
};
document.getElementById("confirmNo").onclick = () => {
resolve(false);
confirmBox.remove();
};
});
}
// 使用自定义确认对话框
async function main() {
const result = await customConfirm("您确定要继续吗?");
if (result) {
console.log("用户点击了是");
} else {
console.log("用户点击了否");
}
}
main();
在这个示例中,我们创建了一个名为customConfirm
的函数,它接受一个消息参数,并返回一个Promise
对象。该函数会创建一个包含两个按钮("是"和"否")的自定义确认对话框。当用户单击其中一个按钮时,Promise
对象将解析为true
(用户单击"是")或false
(用户单击"否")。
然后,我们创建了一个名为main
的异步函数,该函数使用await
关键字来暂停执行,直到用户单击自定义确认对话框中的按钮。根据用户的选择,我们可以执行不同的操作。
这个示例可以根据您的需求进行修改和扩展。
领取专属 10元无门槛券
手把手带您无忧上云