如何在Search&Filter Pro的AJAX事件中执行Elementor弹窗关闭函数?
解决方案
你不用绕弯子模拟点击关闭按钮,直接在sf:ajaxstart事件里调用Elementor的弹窗关闭方法就行,比原方法更直接高效。
把你现有的事件代码改成这样:
// 监听Search&Filter Pro的AJAX启动事件 $(document).on('sf:ajaxstart', function() { // 这里保留你已有的加载spinner初始化代码 // ... 你的spinner代码 ... // 直接关闭Elementor弹窗 if (typeof elementorProFrontend !== 'undefined' && elementorProFrontend.modules.popup) { // 生成一个模拟事件,满足closePopup的参数要求 const mockEvent = new Event('click'); elementorProFrontend.modules.popup.closePopup({}, mockEvent); } });
注意点
- 加个判断确保
elementorProFrontend存在,避免页面加载时出现JS报错 - 不用再绑定
.close-popup的点击事件,直接调用官方提供的closePopup方法就好 - 把这段弹窗关闭的代码放在你已有的spinner初始化代码后面,就能实现AJAX搜索启动时同时关闭弹窗
内容的提问来源于stack exchange,提问作者Bingo
相关产品推荐
相关产品推荐

