我可以在我的jquery插件参数中使用函数名吗?

0 javascript jquery jquery-plugins

我正在为jQuery创建一个表单验证插件,并希望它在成功验证表单后调用一个函数.该插件将具有默认的回调函数,但我想通过options参数修改它.不幸的是我拥有(下面)不起作用.有任何想法吗?

(function($){
    $.fn.extend({
        validify : function(options) {
            var defaults = {
                callback: "callbackFunc",
            };

            var options = $.extend(defaults,options);

            return this.each(function(){
                //validation code here
                //if valid call the function
                if(errors==0){
                    options.callback;
                }


            function callBackFunc(){
                // the default callback function
            }

            ...
Run Code Online (Sandbox Code Playgroud)

Pao*_*ino 6

删除引号,你是金色的.

这将传递函数引用.然后你可以通过这样做来调用它options.callback();

您还需要在传递引用之前声明该函数.你可以通过这样做来解决这个问题:

callback: function() { callbackFunc(); }
Run Code Online (Sandbox Code Playgroud)