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

标签 javascript jquery jquery-plugins

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

(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
            }

            ...

最佳答案

删除引号,你就大功告成了。

这将传递一个函数引用。然后您可以通过执行 options.callback();

来调用它

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

callback: function() { callbackFunc(); }

关于javascript - 我可以在 jquery 插件参数中使用函数名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/985201/

相关文章:

javascript - 使用 Javascript (JQuery) 防止文件输入发生更改

javascript - 整理Js项目文件

javascript - 在 log4javascript 中添加自定义日志级别

javascript - 子元素点击也触发父元素 - Reactjs

javascript - Dojo 到 jQuery 迁移

javascript - 如何使页面右侧滚动而左侧不滚动?

javascript - addClass ('open' ) 在 jquery 中不起作用

javascript - 需要帮助创建 jquery 插件

ajax - 让 jQuery TipTip 能够处理 ajax 加载的内容

javascript - 如何防止在前置滚动?