我需要帮助检测颜色选择器在“img”标签上的背景颜色内嵌的更改事件。
例如,我有这段代码:
<span class="ui-button-text">
<img id="cp-background" src="transparent.png" style="background-color: rgb(100, 100, 90);"></img>
</span>
我需要检测是否使用Jquery更改了style =“backgroung-color”。
我试过这段代码,但我没有成功:
$("#ok-cp-background").data('bgcolor', $this.css('background-color')).change(function(){
alert("Changed");
});
有人可以帮助我吗?
谢谢。
答案 0 :(得分:1)
我认为简单的解决方案是使用.trigger()函数。您附加事件侦听器的脚本:
$("#cp-background").on("styleChanged",function(event, propertyName){
});
扩展$ .css()函数以调用trigger()
(function($)
{
var oldcss = $.fn.css;
$.fn.css = function()
{
var ret = oldcss.apply(this, arguments);
if (arguments.length > 1){ //to ensure this function is called to assign a new style.
this.trigger("styleChanged",arguments);
}
return ret;
};
})(jQuery);
在颜色选择器代码中,使用.css()更改背景颜色。