📅  最后修改于: 2023-12-03 15:02:20.175000             🧑  作者: Mango
jqxPopover
是 jQWidgets 的一个小部件(widget),用于在网页上显示一些基于超链接或鼠标事件触发的弹出框。它的 isModal
属性定义了该弹出框是否在显示时应该阻止页面上其它元素的操作。
isModal
属性需要一个布尔类型的值。其默认值为 false
,也就是说,在 jqxPopover
弹出框显示时,页面上其它元素仍然可以被点击、输入等。只有在将该属性设置为 true
时, jqxPopover
才会具有模态(modal)的特性。
$('#popover').jqxPopover({
isModal: true
});
<!DOCTYPE html>
<html>
<head>
<title>jqxPopover Demo</title>
<!-- 引入 jQWidgets 样式文件 -->
<link rel="stylesheet" href="../../jqwidgets/styles/jqx.base.css" type="text/css" />
<!-- 引入 jQWidgets JavaScript 库 -->
<script type="text/javascript" src="../../scripts/gettheme.js"></script>
<script type="text/javascript" src="../../scripts/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="../../scripts/jqxcore.js"></script>
<script type="text/javascript" src="../../scripts/jqxbuttons.js"></script>
<script type="text/javascript" src="../../scripts/jqxpopover.js"></script>
<script type="text/javascript">
$(document).ready(function () {
// 初始时把按钮禁用
$('#open').jqxButton({ disabled: true });
// 定义弹出框的内容和配置信息
$('#popover').jqxPopover({
title: '提示信息',
content: '确定要执行此操作吗?',
position: 'bottom',
autoClose: false,
isModal: true,
initContent: function () {
// 给按钮绑定事件,在弹出框上点击“确定”时触发
$('#confirm').jqxButton();
$('#confirm').on('click', function () {
// 可以在这里执行一些操作,例如发送 AJAX 请求等
// 隐藏弹出框
$('#popover').jqxPopover('close');
});
}
});
// 给触发弹出框的按钮绑定事件
$('#show').jqxButton();
$('#show').on('click', function () {
$('#open').jqxButton({ disabled: false });
$('#popover').jqxPopover('open');
});
// 给“开启/关闭模态”复选框绑定事件
$('#modal').on('change', function () {
var checked = $(this).is(':checked');
$('#popover').jqxPopover({ isModal: checked });
});
});
</script>
</head>
<body class='default'>
<div style="margin: 50px;">
<!-- 触发弹出框的按钮 -->
<div id="show">点击这里</div>
<div id="open" style="margin-top: 10px;">打开弹出框</div>
<!-- 弹出框 -->
<div id="popover">
<div style="padding: 8px;">
<div id="content" style="padding: 10px; text-align: center;">...</div>
<div style="text-align: center;">
<button id="confirm">确定</button>
<button id="cancel">取消</button>
</div>
</div>
</div>
<!-- 控制模态属性的复选框 -->
<div style="margin-top: 20px;">
<input type="checkbox" id="modal" /> <label for="modal">开启/关闭模态</label>
</div>
</div>
</body>
</html>
上面的代码定义了一个简单的页面,其中有一个 jqxPopover
弹出框,里面包含一个确认按钮、一个取消按钮,以及一个复选框用于控制该弹出框的 isModal
属性。页面中还有两个按钮,全程禁用状态,只有在点击 “点击这里” 后才会变为可点击状态,打开弹出框并显示其中的内容。在 jqxPopover
被打开时,如果开启了模态,则页面上其它元素将无法被点击、输入等;否则页面上其它元素仍然可以操作。用户可以勾选/取消勾选模态复选框,观察模态开启/关闭时页面的表现。