我使用一个名为 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,
});
有两种方法可以解决您的问题:
- 从 jQuery 库中复制相关函数并使用它们
- 向 jQuery 库添加代码以公开私有(private)函数(例如,在第 375 行添加一个调用 HexToHSB() 的自定义函数,然后在第 478 行使用此函数扩展 jQuery)
关于javascript - 如何使用扩展的 jQuery 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24976755/