【问题标题】:Disable Popup Maker on Certain Conditions在某些条件下禁用弹出窗口制作工具
【发布时间】:2020-10-10 02:35:50
【问题描述】:

是否可以在某些条件下禁用弹出窗口制作器(wordpress 插件)打开,例如输入为空或项目有类。我尝试了几个小时,但似乎没有任何效果。

我正在尝试以下方法:

$( '.submit-button' ).click(function(event) {
  if ($('input').val() == "") {
    e.preventDefault();
  }
});

不起作用,我根本无法阻止弹出窗口制作器打开。用API试过了,还是不行。

【问题讨论】:

    标签: jquery wordpress


    【解决方案1】:

    其他答案并没有完全解决原始问题,所以我将把它放在这里,迟到总比没有好。

    假设您使用的是内置触发器(不是手动编码的触发器)Popup Maker 触发器会在页面加载后立即设置,如果您想在某些情况下阻止它,您需要通过内置条件执行此操作在显示弹出窗口之前发生的处理。

    从我们的 Advanced Targeting Conditions 扩展中添加条件或注册您自己的 custom condition 可能是可行的方法。

    如果您在按钮上的代码手动触发了弹出窗口,则只需按照上面发布的方式对其进行修改,并仅在输入具有正确值时调用 JS 函数 PUM.open(123)(用于弹出窗口 123)。

    $(document).on('click', '.submit-button', function(e) {
      if ($('input').val() == "") {
        e.preventDefault();
        //if above line does not work, please try => return false;
      } else {
        PUM.open(123); // open popup 123
      }
    });
    

    【讨论】:

      【解决方案2】:

      代码应该是:(如果我明白你的意思,你忘了把e改成事件)

      $( '.submit-button' ).click(function(event) {
        if ($('input').val() == "") {
          event.preventDefault();
        }
      });
      

      $('input') 选择器太板了,可能其中一个不为空。您应该更改以更明确选择器 ex。 $('input#username')

      【讨论】:

        【解决方案3】:

        如果您提供演示链接,将很容易回答。但是,请尝试以下方法:

        如果输入为空:

        $(document).on('click', '.submit-button', function(e) {
          if ($('input').val() == "") {
            e.preventDefault();
            //if above line does not work, please try => return false;
          }
        });
        

        如果项目有一个类:

        $(document).on('click', '.submit-button', function(e) {
          if ($('#item').hasClass('someclass')) {
            e.preventDefault();
          }
        });
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-10-16
          • 2023-03-02
          • 2016-12-17
          • 1970-01-01
          • 1970-01-01
          • 2017-07-09
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多