Wix连续弹出lightbox模态框报错:无法识别#lightbox2元素求助
Wix lightbox调用报错解决方法
你遇到的报错核心原因是Wix平台的自定义弹窗(lightbox)属于特殊组件,默认不会预加载到当前页面的DOM结构中,不能用普通页面元素的$w().show()方法调用,同时要排查ID配置问题,对应解决步骤如下:
- 校验lightbox ID配置
打开Wix编辑器的「属性和事件」面板,确认第二个自定义弹窗的ID为lightbox2,注意不要包含#前缀、不要有拼写错误、大小写和空格。
- 校验lightbox ID配置
- 替换为官方lightbox调用代码
Wix要求使用wix-window模块的openLightbox方法调用自定义弹窗,修正后的注册按钮触发代码如下:
// 页面顶部先引入wix-window模块 import wixWindow from 'wix-window'; $w.onReady(() => { $w('#button2').on('click', () => { // 传入lightbox的ID,不需要加#前缀 wixWindow.openLightbox("lightbox2") .then((result) => { // 用户点击ACCEPTER按钮后的后续注册逻辑可以写在这里 if(result?.accepted) { // 执行注册确认操作 } }) }) })- 替换为官方lightbox调用代码
- 配置lightbox2的确认回调(适配你的业务逻辑)
打开lightbox2的代码编辑面板,给「ACCEPTER」按钮添加点击事件,返回确认状态:
import wixWindow from 'wix-window'; $w.onReady(() => { $w('#你的ACCEPTER按钮ID').onClick(() => { // 关闭弹窗并返回确认标识 wixWindow.lightbox.close({accepted: true}) }) })- 配置lightbox2的确认回调(适配你的业务逻辑)
- 校验lightbox访问权限
确认lightbox2没有设置仅指定页面/用户角色可见,当前注册页面有权限调用该弹窗。
- 校验lightbox访问权限
内容的提问来源于stack exchange,提问作者Noob-Dev95
相关产品推荐
相关产品推荐

