javascript - jQuery插件函数调用它自己的方法?

标签 javascript jquery

我使用下面的代码,本质上它需要一个元素作为输入(即):

$(#someDiv).Calculator();

但问题是我想在其自身内部调用该插件的函数,但我不知道如何获取自身的对象/句柄来调用该函数。缓存“this”没有正确的引用。

(function ($) {
    jQuery.fn.Calculator = function () {

        var selectedObjects = this;
        var control = $(selectedObjects[0])[0];

    $("#btnCalculate").click(function(){
        // this is where calculate needs to be called
        someObject.calculate(...);
    });

        return {
            calculate: function (value) {

                // do some code    
                return selectedObjects;
            }
        };
    }
})(jQuery);

任何想法/方向都会有很大帮助!谢谢大家!

最佳答案

尝试

(function ($) {
    jQuery.fn.Calculator = function () {

        var selectedObjects = this;
        var control = $(selectedObjects[0])[0];

        $("#btnCalculate").click(function(){
            // this is where calculate needs to be called
            calculator.calculate(...);
        });

        var calculator = {
            calculate: function (value) {

                // do some code    
                return selectedObjects;
            }
        };

        return calculator;
    }
})(jQuery);

关于javascript - jQuery插件函数调用它自己的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16705123/

相关文章:

jquery - 向下滚动时使用 jQuery 显示 "Back to top"链接元素

javascript - ReactJS 页面转换

JavaScript:{}==false 是 SyntaxError?

javascript - 有很多 $(function(){}); 有多糟糕?在代码中?

javascript - 轮播 - 将文本与 slider 中的图像相关联

javascript - 添加标记到带有倒计时的 jQuery 进度条

javascript - 如何使用 html、css 和 js 将侧边栏和导航栏包含在一起

javascript - 如何在使用添加更多功能时删除行

jquery - 如何使用 moment.js 将日期转换为另一种格式?

javascript - HTML5/JavaScript/PhoneGap onclick 无法按预期运行