Javascript jquery colorpickersliders onChange事件在页面加载时触发
我正在使用插件引导颜色选择器滑块。插件的文档位于此处: 出于某种原因,插件提供的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()
$(“.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()加载插件时(通过上面的代码)会调用code>本身,
在它的init()内部代码>方法
通过搜索“onChange”检查源代码,并跟踪函数调用的轨迹 是的,看起来插件在初始化onchange处理程序时(通过上面的代码)会调用它。
查看来源。以下是它的链接:
此函数:\u updatealElements()代码>调用settings.onchange(容器、颜色)代码>
_updatealElements()加载插件时(通过上面的代码)会调用code>本身,
在它的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();
}
});