javascript - 如何使用扩展的 jQuery 函数?

标签 javascript jquery jquery-plugins

我使用一个名为 ColorPicker 的 jQuery 插件.

我包含的来源是 here .

所以,我的代码只是 $("#some_id").ColorPicker(some_options),如文档中所示,并且工作正常。

但是现在,我只想使用源代码中的一个函数,function HexToHSB(),但我不知道如何使用它,因为我不完全理解 jQuery 插件导入。

我尝试了$.ColorPicker.HexToHSB()但它什么也没做。

最佳答案

您将无法执行此操作,因为这些函数是 ColorPicker 模块私有(private)的,您无权访问它们。您可以通过以下方式了解插件的工作情况:

// ColorPicker is an object with public methods, but no access to the private variables and functions in it.
// The function is being invoked at runtime, returning an object
var ColorPicker = function(){
  var privateVariables;
  var privateFunction = function(){...};
  ...
  return {
    publicFunction1 = function(){...},
    publicFunction2 = function(){...},
  }
}();

// jQuery is extended here
$.fn.extend({
    ColorPicker: ColorPicker.publicFunction1,
    ColorPicker: ColorPicker.publicFunction2,
});

有两种方法可以解决您的问题:

  1. 从 jQuery 库中复制相关函数并使用它们
  2. 向 jQuery 库添加代码以公开私有(private)函数(例如,在第 375 行添加一个调用 HexToHSB() 的自定义函数,然后在第 478 行使用此函数扩展 jQuery)

关于javascript - 如何使用扩展的 jQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24976755/

相关文章:

javascript - 模式框在运行时更改标题和按钮名称

javascript - Jquery 自动完成与组合框上的多个选择

jquery - 从下拉列表助手中删除一个元素

javascript - JS/J查询 : Initiate window resize without actually resizing

javascript - jQuery:插件相互通信

jquery-ui - 我们如何使用Jquery tagit获取所选标签的ID?

javascript - Vue.js 与 Rails 不工作

javascript - 是否存在 volatile (有时限)变量?

javascript - 如何注册进度条已完成并运行另一个功能?

javascript - 用红色突出显示负数