在某些情况下禁用弹出窗口制作器

时间:2018-08-14 16:31:04

标签: jquery wordpress

是否有可能在某些条件下(例如,如果输入为空或某项具有一个类)禁止打开弹出窗口生成器(wordpress插件)。我正在尝试几个小时,似乎什么也没用。

我正在尝试以下操作:

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

不起作用,我完全不能阻止弹出式窗口打开程序。使用API尝试过,仍然无效。

3 个答案:

答案 0 :(得分: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
  }
});

答案 1 :(得分:0)

代码应为:(如果我理解您的意思,您忘记将e更改为事件)

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

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

答案 2 :(得分:0)

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

如果输入为空:

$(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();
  }
});