当前位置:首页 > JavaScript

js实现confirm

2026-03-01 03:54:34JavaScript

使用 window.confirm 方法

window.confirm 是 JavaScript 内置的对话框方法,用于显示一个带有确认和取消按钮的弹窗。用户点击确认返回 true,点击取消返回 false

const result = confirm('确定要执行此操作吗?');
if (result) {
    console.log('用户点击了确认');
} else {
    console.log('用户点击了取消');
}

自定义模态框实现 Confirm

如果需要更灵活的样式或功能,可以通过 HTML 和 CSS 自定义一个模态框来模拟 confirm 的行为。

<div id="customConfirm" style="display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: white; padding: 20px; border: 1px solid #ccc; z-index: 1000;">
    <p id="confirmMessage">确定要执行此操作吗?</p>
    <button id="confirmOk">确定</button>
    <button id="confirmCancel">取消</button>
</div>
function customConfirm(message, callback) {
    const confirmBox = document.getElementById('customConfirm');
    const confirmMessage = document.getElementById('confirmMessage');
    const confirmOk = document.getElementById('confirmOk');
    const confirmCancel = document.getElementById('confirmCancel');

    confirmMessage.textContent = message;
    confirmBox.style.display = 'block';

    confirmOk.onclick = function() {
        confirmBox.style.display = 'none';
        callback(true);
    };

    confirmCancel.onclick = function() {
        confirmBox.style.display = 'none';
        callback(false);
    };
}

// 使用示例
customConfirm('确定要删除吗?', function(result) {
    if (result) {
        console.log('用户点击了确认');
    } else {
        console.log('用户点击了取消');
    }
});

使用 Promise 封装 Confirm

结合 Promise 可以更方便地处理异步确认操作。

function promiseConfirm(message) {
    return new Promise((resolve) => {
        const result = confirm(message);
        resolve(result);
    });
}

// 使用示例
promiseConfirm('确定要继续吗?').then((confirmed) => {
    if (confirmed) {
        console.log('用户点击了确认');
    } else {
        console.log('用户点击了取消');
    }
});

使用第三方库

如果项目中使用 UI 框架(如 Bootstrap、Element UI 等),可以直接调用其提供的确认对话框组件。

以 Bootstrap 为例:

js实现confirm

// 需要引入 Bootstrap 和 jQuery
$('#myButton').click(function() {
    const result = confirm('确定要提交吗?');
    if (result) {
        console.log('用户点击了确认');
    }
});

注意事项

  • window.confirm 是同步方法,会阻塞代码执行直到用户操作。
  • 自定义模态框需要处理遮罩层和焦点管理,确保用户体验一致。
  • 移动端可能需要适配样式,确保弹窗在小屏幕上正常显示。

标签: jsconfirm
分享给朋友:

相关文章

js实现倒计时

js实现倒计时

使用 setInterval 实现倒计时 通过 setInterval 定时器每秒更新剩余时间,适用于简单倒计时场景。 function countdown(seconds, callbac…

js实现验证码

js实现验证码

使用Canvas生成图形验证码 在HTML中创建一个Canvas元素用于绘制验证码。通过JavaScript随机生成数字或字母组合,并添加干扰线、噪点等干扰元素增强安全性。 <canvas i…

js实现打印

js实现打印

使用window.print()方法实现打印 在JavaScript中,可以通过调用window.print()方法直接触发浏览器的打印功能。这会打开系统的打印对话框,用户可以选择打印机和设置打印选项…

js实现密码

js实现密码

密码强度验证 使用正则表达式验证密码强度是一种常见方法。以下代码检查密码是否包含大小写字母、数字和特殊字符,且长度至少为8位: function checkPasswordStrength(pass…

js实现代码雨

js实现代码雨

实现代码雨效果 使用HTML5 Canvas和JavaScript可以轻松实现经典的代码雨效果。以下是完整的实现代码和说明: HTML结构 <!DOCTYPE html> <htm…

js实现图片

js实现图片

图片加载与显示 在JavaScript中,可以通过Image对象动态加载图片。创建实例后设置src属性触发加载,通过onload回调处理加载完成后的操作: const img = new Ima…