Oracle Apex网格修改成功弹窗如何设置2-3秒自动消失?
Oracle Apex网格成功消息自动消失设置方法
可以设置,给你两种实用的实现方式:
方法一:通过动态动作触发自动关闭
- 进入对应页面的编辑界面,点击「动态动作」→「创建」
- 设置触发条件:如果要监听页面所有成功消息,触发类型选「页面加载」;如果只想在网格保存后触发,可绑定网格的「保存完成」事件(部分Apex版本需通过JavaScript事件绑定)
- 动作类型选择「执行JavaScript代码」,粘贴以下代码:
setTimeout(function() { // 定位成功消息元素,类名根据你的Apex版本调整 const successMsg = document.querySelector('.t-Alert--success'); if (successMsg) { // 使用Apex内置方法隐藏消息,比直接移除更稳妥 apex.util.hide(successMsg); } }, 2000); // 2000=2秒,改成3000就是3秒
方法二:全局监听消息出现并自动关闭
如果希望页面所有成功消息都自动消失,可在页面的「JavaScript → 函数和全局变量声明」中添加以下代码:
document.addEventListener('DOMContentLoaded', () => { // 监听页面内的元素变化,捕捉成功消息的出现 const observer = new MutationObserver(mutations => { mutations.forEach(mutation => { mutation.addedNodes.forEach(node => { // 检查是否是成功消息元素 if (node.classList?.contains('t-Alert--success')) { setTimeout(() => { apex.util.hide(node); }, 2500); // 这里设置2.5秒,可自行调整 } }); }); }); // 监听页面主体区域,覆盖消息可能出现的位置 observer.observe(document.querySelector('.t-Body'), { childList: true, subtree: true }); });
注意:不同Apex版本的成功消息CSS类可能略有差异,比如旧版本可能用.u-Alert--success,建议打开浏览器开发者工具(F12),查看成功消息元素的类名,替换代码中的对应部分即可。
内容的提问来源于stack exchange,提问作者Velocity
相关产品推荐
相关产品推荐

