2

我需要帮助检测颜色选择器对“img”标签上的背景颜色内联的更改事件。

例如,我有这个代码:

<span class="ui-button-text">
<img id="cp-background" src="transparent.png" style="background-color: rgb(100, 100, 90);"></img>
</span>

我需要检测 style="backgroung-color" 是否随 Jquery 更改。

我已经尝试过这段代码,但我没有成功:

$("#ok-cp-background").data('bgcolor', $this.css('background-color')).change(function(){
     alert("Changed");
});

谁能帮帮我吗?

谢谢你。

4

1 回答 1

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() 更改背景颜色。

于 2013-04-29T02:46:46.580 回答