JQuery的新手,我想知道如何将以下JQuery代码放在if语句中,以便它只在单击提交按钮时运行,而在未单击时不执行任何操作我知道我正在使用$(".save-button").click(function()
有没有办法把它放在if语句中?
JQuery代码。
$(function() {
$(".save-button").click(function() {
$.post($("#contact-form").attr("action"), $("#contact-form").serialize(), function(html) {
$("div.contact-info-form").html(html);
$('#changes-saved').append('<li>Changes saved!</li>').show().pause(1000).hide();
});
return false; // prevent normal submit
});
});
答案 0 :(得分:3)
调用.click并传递函数说“单击元素时调用此函数”
不带函数参数的.click()调用click事件
因此,不需要'if'
答案 1 :(得分:1)
好吧,您可以检查点击元素的type
属性,例如:
//...
if ($(this).attr('type') == 'submit')
//...
但我建议您使用submit
事件,请记住,如果用户按Enter键,也可以提交表单:
$(function() {
$("#contact-form").submit(function() {
var $form = $(this);
$.post($form.attr("action"), $form.serialize(), function(html) {
$("div.contact-info-form").html(html);
$('#changes-saved').append('<li>Changes saved!</li>').show()
.pause(1000).hide();
});
return false; // prevent normal submit
});
});
答案 2 :(得分:0)
$(".save-button").click(function() {
$.post($("#contact-form").attr("action"), $("#contact-form").serialize(), function(html) {
$("div.contact-info-form").html(html);
$('#changes-saved').append('<li>Changes saved!</li>').show().pause(1000).hide();
});
return false; // prevent normal submit
});
这会将click事件绑定到任何带有.save-button类的元素。
答案 3 :(得分:0)
您只能将其应用于提交按钮:
$(".save-button:submit")