我已经更新了这个问题,因为这可能是由于重力形式导致简单函数无法工作。我这么说的原因是因为我尝试了很多选项(如下所列)来触发 jQuery 函数,但没有一个在应该起作用的时候起作用。
我有一个简单的函数,在下面它可以 100% 工作...
var $contactButton = $(".contact-slide a"),
$contactSlide = $("#horizon-slide");
function () {
$contactSlide.stop().css("top","0");
};
虽然很简单,但是当我的提交按钮被重力点击时,我试图触发这个。
这是 WordPress 重力形式输入标记...
<input type="submit" id="gform_submit_button_1" class="button gform_button" value="Send" tabindex="7"></input>
这些是我尝试过的所有下面的脚本,但它们都没有运行该功能...
脚本一
$("input#gform_submit_button_1").on('click', function () {
$contactSlide.stop().css("top","0");
});
脚本二
$("input#gform_submit_button_1").click(function() {
$contactSlide.stop().css("top","0");
});
脚本三
$("input#gform_submit_button_1").focus(function () {
$contactSlide.stop().css("top","0");
});
脚本四
$("form#gform_1").submit(function(event) {
$contactSlide.stop().css("top","0");
});
我也尝试过...
return false;
和
return true;
在上面的所有脚本上,但它们都没有返回该函数。如果我将脚本设置为返回 false,则表单不会提交,但如果我设置为返回 true,则表单会提交,但该函数不会运行。
为什么会发生这种情况,我以为这是基本的东西?
感谢您的帮助。
最佳答案
您是否尝试在提交表单时运行某些操作?如果您使用表单的 AJAX 提交方法,您可以使用 gform_confirmation_loaded提交表单后运行一些 JavaScript 的事件。
$(document).on('gform_confirmation_loaded', function(e, form_id){
if(form_id == 2) {
$contactSlide.stop().css("top","0");
}
});
它将在每次表单提交时运行,因此要指定表单,请测试传递给事件处理程序的 form_id 参数。
关于jquery - 'Gravity Forms' 输入按钮被点击时触发jquery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8475540/