防止 Divi 弹出窗口在按下 ESC 键时关闭

问题描述 投票:0回答:0

如果可以的话,我目前在我的 WordPress 网站上使用 Divi 插件的弹出窗口,并且遇到了按下 ESC 键时弹出窗口关闭的问题。我的用例要求弹出窗口应保持打开状态,直到用户输入有效的密钥。

不幸的是,这些方法都没有成功阻止按下 ESC 键时弹出窗口关闭。

任何关于如何阻止 ESC 键关闭弹出窗口直到用户输入有效密钥的指导或建议将不胜感激。

我还联系了该插件的支持团队,并热切等待他们的回复。

这是我的代码的简化版本:

let secretKeyField = document.getElementById('mce-SECRETKEY');
let mailerlite = document.getElementById('mailerlite-form-container');
let secretKeyError = document.getElementById('secret-key-error');
let secret_key_form = document.querySelector('#secretkeywrapper');

secretKeyField.oninput = function() {
    if (this.value == atob(get_secret_key_by_pathname)) {
        secretKeyError.style.display = 'none';
        mailerlite.style.display = 'block';
        secret_key_form.remove();
    } else {
        secretKeyError.style.display = 'block';
        mailerlite.style.display = 'none';
    }
};

let e = document.querySelector('.row-success');
let observer = new MutationObserver(function (event) {
    DiviArea.hide('mypopupid');
});

observer.observe(e, {
    attributes: true, 
    childList: false, 
    characterData: false
});
<style>
  #mailerlite-form-container {
    display: none;
  }
</style>

<div id="secretkeywrapper">
    <label for="mce-SECRETKEY">Enter your secret key to get access:</label>
    <input type="type" id="mce-SECRETKEY" name="SECRETKEY" />
    <div id="secret-key-error" style="display: none; color: red;">The secret key is incorrect. Please try again.</div>
</div>

<div id="mailerlite-form-container">
    [divi_shortcode id="931"]
</div>

javascript wordpress popup divi
© www.soinside.com 2019 - 2024. All rights reserved.