defineGetter & defineSetter on CSSStyleDeclaration.prototype
<p>I want to implement a fake style named <code>myColor</code> on all elements. When setting <code>myColor</code> style on the element, the actual <code>color</code> should be set with the same value. The apparent way of doing this is to use <code>__defineSetter__</code> and <code>__defineGetter__</code> on <code>CSSStyleDeclaration.prototype</code>.</p>

<p>Here is my implementation <a href="http://jsfiddle.net/ghostoy/jJ2GC/" rel="nofollow">http://jsfiddle.net/ghostoy/jJ2GC/</a> and the expected result is once clicked <strong>SetMyColor</strong> button, the color of the text changed to red and show me "Set color to: red". However, the setter is not invoked as expected.</p>

<p><strong>== Updated ==</strong></p>

<p>On different browsers (webkit/mozilla/msie), they use different prefixed style names for non-standard styles. For example, Chrome uses <code>webkitTransition</code>, Firefox uses <code>mozTransition</code> and MSIE use <code>msTransition</code>. However, I want apps that use <code>msTransition</code> can run correctly on Chrome with <code>webkitTransition</code> without modification.</p>

<p>My question is:</p>

<ol>
<li>Why my setter is not invoked?</li>
<li>How to implement such fake style?</li>
</ol>
