我正在使用minicolors color picker for Yii,我想一如既往地在颜色选择器输入上附加更改事件:
$('#color_picker').change(function(e) { console.log('It works!') });
但它不起作用,然后我尝试了:
$('#color_picker').miniColors({change: function(hex, rgb) { console.log('It works!') }});
这也不起作用。考虑到文档,我应该在创作时附上这个事件,但为什么呢?如果我需要在创建后附加它,可以这样做吗?
答案 0 :(得分:0)
您提供的{
错过了左右括号}
options
,以下是official document
$(selector).minicolors({
change: function(hex, opacity) {
console.log(hex + ' - ' + opacity);
}
});
编辑(1):
<input id="general_bgColor" type="text">
<script>
$(function(){
$('#general_bgColor').miniColors({ change: function(hex, rgb) { console.log('it worked!'); //console.log(hex + ' - ' + rgb); } });
})
</script>
已编辑(2):以下是您应使用Yii扩展程序添加的内容
$this->widget('ext.widgets.SMiniColors.SColorPicker', array(
'id' => 'myInputId',
'defaultValue'=>'#000000',
'hidden'=>false, // defaults to false - can be set to hide the textarea with the hex
'options' => array(
'change' => 'js:function(hex, rgb) { console.log(hex + " - " + rgb); }'
), // jQuery plugin options
'htmlOptions' => array(
), // html attributes
));
注意我的行选项'change'
。
我认为你的函数字符串上的单引号无意中使得数组无效。它使选项键'change'始终具有值'0'