我已经将WordPress核心颜色选择器(iris)添加到我开发的小部件中,但当我编辑颜色时,不会触发任何更改。因此,除非在另一个输入字段中触发更改,否则自定义程序的iframe(实时预览)不会更新。
初始化颜色选择器的JavaScript:
var myOptions = {
// you can declare a default color here,
// or in the data-default-color attribute on the input
defaultColor: \'#000\',
// a callback to fire whenever the color changes to a valid color
change: function(event, ui){
},
// a callback to fire when the input is emptied or an invalid color
clear: function() {},
// hide the color picker controls on load
hide: true,
// show a group of common colors beneath the square
// or, supply an array of colors to customize further
palettes: true
};
// Add Color Picker to all inputs that have \'color-field\' class $(\'.color-field\').wpColorPicker(myOptions);
注意:我测试了将下面的代码添加到更改回调中。
change: function(event, ui){
$(this).trigger(\'change\');
},
当用户单击颜色选择器时,这将触发更改并更新iframe,但它发生在保存颜色值之前。
是否有人知道在保存所选颜色后如何访问活动?
SO网友:B. Schuiling
我不知道iframe从何处获取颜色信息,但您可能需要将颜色选择器中选定的颜色写入该字段。
这是一个包括油门的示例。update\\u color是一个处理新颜色的函数。您可以在那里放置一些代码,将拾取的颜色放置到您的情况中的正确位置。
change: $.proxy( _.throttle(function(event, ui) {
event.preventDefault();
var color = ui.color.toString();
update_color(event,ui, color);
}, 200), this),