当前位置:首页 > 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 的行为。

js实现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 可以更方便地处理异步确认操作。

js实现confirm

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 为例:

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

注意事项

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

标签: jsconfirm
分享给朋友:

相关文章

js实现验证码

js实现验证码

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

js实现图片上传

js实现图片上传

图片上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现图片上传功能。HTML部分需要创建一个文件选择输入框和一个用于…

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

vue 实现 confirm

vue 实现 confirm

实现 Confirm 对话框 在 Vue 中实现确认对话框可以通过多种方式,包括使用原生 JavaScript、第三方库或自定义组件。以下是几种常见方法: 使用浏览器原生 confirm 最简单的方…

js 实现分页

js 实现分页

实现分页的基本逻辑 分页功能通常需要后端返回数据总量或总页数,前端根据当前页码和每页条数截取对应数据。以下是一个基于JavaScript的简单分页实现方案: 前端分页实现 假设已有从后端获取的完整数…

js实现驼峰

js实现驼峰

实现驼峰命名的几种方法 使用正则表达式和字符串替换 通过正则表达式匹配字符串中的特定模式(如下划线或短横线),并将其后的字母转换为大写,同时移除分隔符。 function toCamelCase(s…