通过代码触发的 Elementor Popup 立即关闭

Elementor Popup triggered via code closes immediately

想知道是否有人遇到过这个问题,他们是否解决了?

我试图在单击以下选择器“label[for='form-field-lampshade_shape']”(是表单标签)时触发弹出窗口。弹出窗口出现一瞬间然后关闭

我尝试通过 JS 和弹出窗口高级设置中的“通过选择器打开”选项进行此操作,两者的结果相同;弹出窗口实际上只是闪烁。

JS

jQuery("label[for='form-field-lampshade_shape']").click(function() {
    elementorProFrontend.modules.popup.showPopup( { id: 24601 } );
});

通过选择器打开

这似乎是一个特定于标签的问题。当您单击输入字段的标签时,闪烁的光标默认跳到相关的输入字段、文本区域或即选中一个复选框。当我将鼠标悬停在 Elementor 输入标签上时,我的光标从箭头变为手形,因此已经有一个点击事件侦听器绑定到该标签。

一种解决方案是添加 e.preventDefault()e in function( e ):

jQuery( 'label[for="form-field-lampshade_shape"]' ).click( function( e ) {
    e.preventDefault();
    elementorProFrontend.modules.popup.showPopup( { id: 24601 } );
});

或者您在弹出窗口的“通过选择器打开”中输入例如 input[name="form-field-lampshade_shape"],假设这是正确的输入字段。现在,单击标签或输入字段时会打开弹出窗口。