是否有可能在某些条件下(例如,如果输入为空或某项具有一个类)禁止打开弹出窗口生成器(wordpress插件)。我正在尝试几个小时,似乎什么也没用。
我正在尝试以下操作:
$( '.submit-button' ).click(function(event) {
if ($('input').val() == "") {
e.preventDefault();
}
});
不起作用,我完全不能阻止弹出式窗口打开程序。使用API尝试过,仍然无效。
答案 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();
}
});