Raphael Javascript库中的事件处理

时间:2011-08-25 23:22:56

标签: jquery raphael

我正在使用Raphael JS库。 它太棒了,也符合要求。我想弄明白,怎么写 库中所有节点的通用事件处理程序。我需要'clicked'对象实例来定制它在Click事件中的归属。

我已经在CSS中为'raphael canvas'声明了一个ID,所以对于画布上的任何点击我将使用jQuery在这个处理程序中接收事件。我还为画布中的所有节点附加了“node.id”。

这是gen的原型。事件处理程序。

$j('#holder').bind('click', function(event) {

  // event handler.

}

但是,我无法收到被点击的节点的“对象实例”。

event.srcElement属性也失败了。

非常感谢任何帮助。

谢谢, KARTHIK。

2 个答案:

答案 0 :(得分:2)

我认为问题可能是你正在使用jQuery的click函数将事件绑定到Raphael输出的DOM / SVG / VML,当它听起来像你想要获得的是控制这个的原始Raphael数据对象输出(而不是实际输出本身)。

所以你可能会通过调用Raphael自己的.click()函数绑定到你第一次调用Raphael函数时定义的变量(例如var someVar = Raphael(xxx...);中的someVar)来得到你想要的东西。

然后,在函数中,this应该给出Raphael对象(虽然调用你已经在.click(function(){ });中定义的变量可能会给出更可靠的结果,特别是如果以后你想要{{} 3}})。 event.target很可能仍会提供实际点击的DOM元素。

这就是元素的工作原理,纸张/画布本身可能会遵循相同或类似的逻辑。

答案 1 :(得分:0)

不应该是event.target吗?

(根据http://api.jquery.com/category/events/event-object/)。