当前位置:首页 > JavaScript

js实现确认

2026-03-14 20:07:15JavaScript

实现确认对话框的方法

在JavaScript中,可以使用内置的confirm()函数或自定义模态框来实现确认功能。

使用confirm()函数

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

自定义确认对话框 通过HTML和CSS创建自定义样式,配合JavaScript实现更灵活的交互。

<div id="customConfirm" style="display:none;">
    <div class="dialog-content">
        <p>确定要删除吗?</p>
        <button id="confirmYes">确定</button>
        <button id="confirmNo">取消</button>
    </div>
</div>

<script>
document.getElementById('confirmYes').addEventListener('click', function() {
    console.log('操作已确认');
    document.getElementById('customConfirm').style.display = 'none';
});

document.getElementById('confirmNo').addEventListener('click', function() {
    console.log('操作已取消');
    document.getElementById('customConfirm').style.display = 'none';
});

function showConfirm() {
    document.getElementById('customConfirm').style.display = 'block';
}
</script>

使用Promise封装确认逻辑

对于异步操作,可以用Promise封装自定义确认对话框。

function customConfirm(message) {
    return new Promise((resolve) => {
        const dialog = document.createElement('div');
        dialog.innerHTML = `
            <div>${message}</div>
            <button class="confirm-btn">确定</button>
            <button class="cancel-btn">取消</button>
        `;

        dialog.querySelector('.confirm-btn').addEventListener('click', () => {
            document.body.removeChild(dialog);
            resolve(true);
        });

        dialog.querySelector('.cancel-btn').addEventListener('click', () => {
            document.body.removeChild(dialog);
            resolve(false);
        });

        document.body.appendChild(dialog);
    });
}

// 使用示例
customConfirm('确认提交吗?').then(result => {
    if (result) {
        console.log('提交成功');
    } else {
        console.log('取消提交');
    }
});

第三方库实现

流行的UI库如SweetAlert2提供了更美观的确认对话框。

js实现确认

// 需要先引入SweetAlert2库
Swal.fire({
    title: '确认删除?',
    text: "删除后无法恢复",
    icon: 'warning',
    showCancelButton: true,
    confirmButtonText: '确定',
    cancelButtonText: '取消'
}).then((result) => {
    if (result.isConfirmed) {
        Swal.fire('已删除', '', 'success');
    }
});

标签: js
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现瀑布流

js实现瀑布流

实现瀑布流布局 瀑布流布局是一种常见的网页布局方式,常用于图片展示、商品列表等场景。以下是使用 JavaScript 实现瀑布流布局的几种方法。 纯 JavaScript 实现 通过计算元素的位置和…

js实现原理

js实现原理

JavaScript 实现原理 JavaScript 是一种解释型语言,其实现原理涉及多个核心组件和运行机制,包括引擎、运行时环境、事件循环等。 引擎与解释执行 现代 JavaScript 引擎(如…

js实现图片放大

js实现图片放大

使用 CSS transform 实现图片放大 通过 CSS 的 transform: scale() 属性实现图片放大效果。当鼠标悬停时,图片会平滑放大。 const img = document…

js 实现全选

js 实现全选

实现全选功能的方法 使用 JavaScript 实现全选功能通常需要操作复选框(checkbox)的状态。以下是几种常见的实现方式。 通过 DOM 操作实现全选 // 获取全选复选框和子复选框 co…