Javascript jquery colorpickersliders onChange事件在页面加载时触发

Javascript jquery colorpickersliders onChange事件在页面加载时触发,javascript,jquery,html,twitter-bootstrap,plugins,Javascript,Jquery,Html,Twitter Bootstrap,Plugins,我正在使用插件引导颜色选择器滑块。插件的文档位于此处: 出于某种原因,插件提供的onchange事件似乎在加载页面时触发。我不明白为什么。这是我做的还是插件本身的问题 示例 我的意思是: $(“.hsl”).颜色选择器滑块({ 平:是的, 预览格式:“hsl”, 订单:{ hsl:1, 预览:2 }, onchange:function(){ 警报(“测试”); } }); 我认为这是插件的一部分,我看到了如下功能: function _addCurrentColorToSwatches()

我正在使用插件引导颜色选择器滑块。插件的文档位于此处:

出于某种原因,插件提供的onchange事件似乎在加载页面时触发。我不明白为什么。这是我做的还是插件本身的问题

示例

我的意思是:


$(“.hsl”).颜色选择器滑块({
平:是的,
预览格式:“hsl”,
订单:{
hsl:1,
预览:2
},
onchange:function(){
警报(“测试”);
}
});

我认为这是插件的一部分,我看到了如下功能:

function _addCurrentColorToSwatches() {
    swatches.unshift(color.tiny.toRgbString());
    _storeSwatches();

    $(document).trigger("colorpickersliders.changeswatches");
}
它还有一个函数
\u resetSwatches()
。 因此,这可能是插件作者的问题或意图


例如:设置了默认颜色,触发了onchange,一个div背景将更改为该颜色。

我认为这是插件中的一些东西,我看到了如下功能:

function _addCurrentColorToSwatches() {
    swatches.unshift(color.tiny.toRgbString());
    _storeSwatches();

    $(document).trigger("colorpickersliders.changeswatches");
}
它还有一个函数
\u resetSwatches()
。 因此,这可能是插件作者的问题或意图


例如:设置了默认颜色,启动了onchange,div背景将更改为该颜色。

是的,看起来插件在初始化onchange处理程序时调用了它(通过上面的代码)。 查看来源。以下是它的链接:

此函数:
\u updatealElements()调用
settings.onchange(容器、颜色)
_updatealElements()本身,
在它的
init()内部方法


通过搜索“onChange”检查源代码,并跟踪函数调用的轨迹

是的,看起来插件在初始化onchange处理程序时(通过上面的代码)会调用它。 查看来源。以下是它的链接:

此函数:
\u updatealElements()调用
settings.onchange(容器、颜色)
_updatealElements()本身,
在它的
init()内部方法


通过搜索“onChange”检查源代码,并跟踪函数调用的轨迹

我认为解决办法就在这里

函数的作用是触发onchange事件

function _updateAllElements(disableinputupdate) {
    ...

    settings.onchange(container, color);

    ...
  }
_buildComponent()函数在颜色滑块的初始处触发

     function _buildComponent() {
        _initElements();
        _renderSwatches();
        _updateAllElements();//comment or delete this line
        _bindControllerEvents();
      }
在你有了一堆“激活组”功能后,为所有的彩色滑块MOD。 在测试中,我使用了样例mod,因此我修改了activateGroupSwatches()函数

我只是用这个配置做了一些测试,但它似乎可以工作。加载页面时不会触发onchange函数,该函数在加载后工作

$("#color").ColorPickerSliders({
            flat: true,
            color: '#fff',
            swatches: tab,
            customswatches: false,
            order: {},
            onchange: function(container, color){
                    function_you_want();
            }
        });

我认为解决办法就在这里

函数的作用是触发onchange事件

function _updateAllElements(disableinputupdate) {
    ...

    settings.onchange(container, color);

    ...
  }
_buildComponent()函数在颜色滑块的初始处触发

     function _buildComponent() {
        _initElements();
        _renderSwatches();
        _updateAllElements();//comment or delete this line
        _bindControllerEvents();
      }
在你有了一堆“激活组”功能后,为所有的彩色滑块MOD。 在测试中,我使用了样例mod,因此我修改了activateGroupSwatches()函数

我只是用这个配置做了一些测试,但它似乎可以工作。加载页面时不会触发onchange函数,该函数在加载后工作

$("#color").ColorPickerSliders({
            flat: true,
            color: '#fff',
            swatches: tab,
            customswatches: false,
            order: {},
            onchange: function(container, color){
                    function_you_want();
            }
        });