当前位置:首页 > 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
分享给朋友:

相关文章

js实现跳转

js实现跳转

使用 window.location 跳转 通过修改 window.location.href 实现页面跳转,这是最常用的方法。 window.location.href = 'https://…

js实现轮播

js实现轮播

实现轮播图的基本思路 轮播图的核心逻辑是通过定时切换展示的图片或内容,通常结合左右滑动按钮和指示器(小圆点)增强交互性。以下是基于原生JavaScript的实现方法。 HTML结构 构建轮播图的HT…

js实现图片轮播

js实现图片轮播

实现基础图片轮播 使用HTML、CSS和JavaScript创建一个简单的图片轮播。HTML部分定义轮播容器和图片,CSS设置样式和动画效果,JavaScript处理轮播逻辑。 <div cl…

js实现vr

js实现vr

使用WebXR API实现VR体验 WebXR是浏览器中实现VR和AR体验的标准API,它取代了早期的WebVR。现代浏览器如Chrome、Edge和Firefox已支持WebXR。 // 初始化W…

js实现点击显示和隐藏

js实现点击显示和隐藏

实现点击显示和隐藏的JavaScript方法 使用classList.toggle切换类名 通过添加/移除CSS类控制元素的显示与隐藏,需提前在CSS中定义隐藏样式(如display: none)。…

js实现百叶窗

js实现百叶窗

使用CSS和JavaScript实现百叶窗效果 通过CSS动画和JavaScript事件监听可以实现百叶窗效果。核心思路是将内容区域分割为多个条状元素,通过控制它们的展开/折叠状态来模拟百叶窗。…