我正在使用Raphael JS库。 它太棒了,也符合要求。我想弄明白,怎么写 库中所有节点的通用事件处理程序。我需要'clicked'对象实例来定制它在Click事件中的归属。
我已经在CSS中为'raphael canvas'声明了一个ID,所以对于画布上的任何点击我将使用jQuery在这个处理程序中接收事件。我还为画布中的所有节点附加了“node.id”。
这是gen的原型。事件处理程序。
$j('#holder').bind('click', function(event) {
// event handler.
}
但是,我无法收到被点击的节点的“对象实例”。
event.srcElement
属性也失败了。
非常感谢任何帮助。
谢谢, KARTHIK。
答案 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
吗?