繁体   English   中英

如何以编程方式选择颜色选择器设置值时避免触发Onchange事件

[英]How to avoid firing Onchange event when color picker setvalue programitically

我想以编程方式设置颜色选择器的值,而不会在发生更改事件时触发Colorpicker

注意:我在更改事件下正在执行一些特定的代码,但是在从代码设置值之后,无需执行那些代码块

我已经尝试过e.stoppropagation和e.preventdefault但最终没有运气

function resetColor(){
 //Some code...
 $("#" + affectColorAreaId).colorpicker('setValue', defaultValue);
 //Some code...
}

您可以使用.data方法来检查它是否来自重置事件,并相应地设置或删除它的值,不过我在文档中找不到任何内容。 考虑以下:

 const defaultValue = '#000000'; $('#picker').colorpicker({}).on('changeColor', function(event) { if (!$(this).data('isFromReset')) console.log('from color change!'); else $('#picker').removeData('isFromReset'); }); function reset() { console.log('from reset!'); $('#picker').data('isFromReset', true).colorpicker('setValue', defaultValue); } 
 .as-console-wrapper { max-height: 50px !important; } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-colorpicker/2.5.3/js/bootstrap-colorpicker.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-colorpicker/2.5.3/css/bootstrap-colorpicker.css" rel="stylesheet" /> <input id="picker" /> <button onclick="reset();">reset</button> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM