0

特定の raphael オブジェクトに対して Raphaeljs で変換関数が呼び出されたときにイベントを発生させる方法を探しています。これが私がこれまでに思いついたものです。

var paper = new Raphael( 0, 0, 1000, 1000 );
var rect = paper.rect( 100, 100, 100, 100 );
var rect1 = paper.rect( 0, 0, 100, 100 );

rect.transform = ( function() {
    var original = rect.transform;

    return function( ) {
         // fire event for rect
        return original.apply( this, arguments );
    }
})();

rect1.transform = ( function() {
    var original = rect1.transform;

    return function( ) {
        // fire event for rect1   
        return original.apply( this, arguments );
    }
})();

rect.transform( "s2" ); // event for rect.transform fired
rect1.transform( "s2" ); // event for rect1.transform fired

他の誰かがこれを行う他の方法を知っているかどうか疑問に思いました。

ここで私の例のフィドル

4

1 に答える 1

1

要素プロトタイプを拡張することで、すべての要素に対してこれを行うことができます。詳細については、 http://raphaeljs.com/reference.html#Raphael.elを参照してください。

于 2012-10-16T09:03:30.143 に答える