jQuery - 将事件绑定到命名函数不起作用?
jQuery - binding event to named function does not work?
我尝试将命名函数绑定到表单提交事件。
起初,我尝试将它绑定到一个匿名函数并且它起作用了:
jQuery("#form").submit(function(event){
event.preventDefault();
alert("event");
var reqType = jQuery(this).find('input[name="requestType"]').val();
alert("requestType:"+reqType);
});
而且效果很好。
但是当我使用命名函数时:
//inside jQuery(document).ready()
jQuery("#form").submit(processForm(event));
//defined outside jQuery(document).ready()
function processForm(event) {
event.preventDefault();
var reqType = jQuery(this).find('input[name="requestType"]').val();
alert("request type: "+reqType);
}
不仅该功能没有像我希望的那样工作,alert() 只会在刷新页面而未提交表单时触发。这可能是什么原因造成的,我该如何解决?提前致谢。
您需要通过引用传递函数,不带括号:
jQuery("#form").submit(processForm);
我尝试将命名函数绑定到表单提交事件。 起初,我尝试将它绑定到一个匿名函数并且它起作用了:
jQuery("#form").submit(function(event){
event.preventDefault();
alert("event");
var reqType = jQuery(this).find('input[name="requestType"]').val();
alert("requestType:"+reqType);
});
而且效果很好。 但是当我使用命名函数时:
//inside jQuery(document).ready()
jQuery("#form").submit(processForm(event));
//defined outside jQuery(document).ready()
function processForm(event) {
event.preventDefault();
var reqType = jQuery(this).find('input[name="requestType"]').val();
alert("request type: "+reqType);
}
不仅该功能没有像我希望的那样工作,alert() 只会在刷新页面而未提交表单时触发。这可能是什么原因造成的,我该如何解决?提前致谢。
您需要通过引用传递函数,不带括号:
jQuery("#form").submit(processForm);