jq 使用 muiconfirm 插件 点击其他地方取消弹框并且不要回调监听
由于 jq 和 mui.confirm 插件都是前端库,而且 mui.confirm 插件是 MUI 框架中的一个弹窗组件,所以需要在 HTML 页面中引入相应的库文件。
以下是一个示例代码,演示了如何在 jq 中使用 mui.confirm 插件,并实现点击其他地方取消弹框,同时不触发回调监听:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jq 使用 mui.confirm 插件</title>
<!-- 引入 mui 样式库 -->
<link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/mui/3.7.1/css/mui.min.css">
<!-- 引入 jq 库 -->
<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<!-- 引入 mui.js 库 -->
<script src="https://cdn.bootcdn.net/ajax/libs/mui/3.7.1/js/mui.min.js"></script>
</head>
<body>
<button id="btn">点击弹出确认框</button>
<script>
$(function() {
// 点击按钮弹出确认框
$('#btn').click(function() {
// 调用 mui.confirm 插件
mui.confirm('确定要删除吗?', '提示', ['取消', '确定'], function(e) {
if (e.index === 1) {
// 点击确定按钮的回调函数
console.log('点击了确定按钮');
} else {
// 点击取消按钮的回调函数
console.log('点击了取消按钮');
}
});
// 给遮罩层绑定点击事件,阻止冒泡
$('.mui-backdrop').on('tap', function(e) {
e.stopPropagation();
});
// 给遮罩层之外的区域绑定点击事件,关闭确认框
$('body').on('tap', function() {
$('.mui-backdrop').remove();
$('.mui-popup').remove();
});
});
});
</script>
</body>
</html>
在上面的代码中,首先在 HTML 页面中引入了 mui 和 jq 库文件,然后在页面加载完成后,给按钮绑定了点击事件,当点击按钮时,调用 mui.confirm 插件弹出确认框。接着,给遮罩层绑定了 tap 事件,阻止冒泡,避免点击遮罩层时触发关闭确认框的事件。最后,给遮罩层之外的区域绑定了 tap 事件,当点击遮罩层之外的区域时,关闭确认框。
需要注意的是,由于 mui.confirm 插件是基于 MUI 框架的,所以在使用时需要遵循 MUI 框架的规范,例如在弹出确认框时需要添加遮罩层等。另外,如果需要在回调函数中获取用户的选择结果,可以通过 e.index 属性来获取,其中 0 表示点击了取消按钮,1 表示点击了确定按钮。
原文地址: https://www.cveoy.top/t/topic/b5Ee 著作权归作者所有。请勿转载和采集!