调用函数时触发事件

时间:2012-10-16 08:53:03

标签: javascript events raphael

我正在寻找一种在Raphaeljs中为特定raphael对象调用转换函数时触发事件的方法。这是我到目前为止所提出的。

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

我只是想知道是否有其他人知道其他任何方法。

我的例子here

的小提琴

1 个答案:

答案 0 :(得分:1)

您可以通过扩展元素原型为所有元素执行此操作,有关详细信息,请参阅http://raphaeljs.com/reference.html#Raphael.el