jQuery - 绑定事件到命名函数不起作用?

时间:2015-02-25 18:54:38

标签: jquery function binding

我尝试将命名函数绑定到表单提交事件。 起初,我尝试将它绑定到一个匿名函数,它起作用了:

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()才会触发。可能是什么原因以及如何解决?提前谢谢。

1 个答案:

答案 0 :(得分:1)

您需要通过引用传递函数,不带括号:

jQuery("#form").submit(processForm);