javascript - jQuery 插件公共(public)方法/函数

标签 javascript jquery plugins public-method

我正在尝试实现类似以下的目标,但不知道哪里出了问题:

$.a = function() {

// some logic here

function abc(id) {
   alert('test'+id);
}


}

$.a.abc('1');

我试过使用返回函数,但似乎也不起作用。有人可以帮忙吗。

感谢您的宝贵时间。

最佳答案

由于 $.a 本身必须是一个函数,因此您必须将 abc 函数作为属性添加到 $.a 功能:

$.a = function () {
    // some logic here...
};

$.a.abc = function (id) {
    alert('test' + id);
};

如果 abc 必须在 $.a 函数中定义,您可以执行以下操作。请注意,在使用此方法时,在调用 $.a 之前,$.a.abc 将不可用!在函数被调用之前,函数内部的任何内容都不会被评估。

$.a = function () {

    // Do some logic here...

    // Add abc as a property to the currently calling function ($.a)
    arguments.callee.abc = function (id) {
        alert('test' + id);
    };
};

$.a();
$.a.abc('1');

关于javascript - jQuery 插件公共(public)方法/函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1204822/

相关文章:

c# - 0x800a1391 - JavaScript 运行时错误 : 'jQuery' is undefined

jquery - 如何在href调用div面板的情况下触发事件

maven-2 - 是否可以覆盖父 POM 中已为配置文件定义的插件的配置?

javascript - 在 Gatsby JS (react) 中收到有关拥有唯一 key prop 的警告

javascript - JavaScript 中括号中的逗号分隔数字/函数?

javascript - 将类添加到已经具有相同类的元素的问题

ruby-on-rails - Rails 性能分析器

objective-c - 如何禁用(或收到通知)删除已加载的插件(NSBundle)文件?

javascript - 如何在 jQuery 中找到特定表单中的提交按钮

javascript - JSLint 字符串比较错误预期为 '===' 而不是看到 '=='