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);