在自定义坐标处获取RaphaelJS元素的颜色填充

Get color fill on RaphaelJS element at custom coordinate

本文关键字:元素 颜色 填充 RaphaelJS 获取 自定义 坐标      更新时间:2023-09-26

有没有办法在屏幕点(x,y)获取RaphaelJS元素的填充颜色?

提前感谢!

与其将

单击处理程序附加到每个元素,不如将单击处理程序附加到 SVG 元素本身,然后使用 RaphaelJS 的 getElementByPoint 帮助函数在光标下查找第一个元素。 你会做这样的事情:

 jQuery( paper.canvas ).click( function( e )
 {
     var parentOffset = jQuery(this).offset();
     var relX = e.pageX - parentOffset.left;
     var relY = e.pageY - parentOffset.top;
     console.log("Relative position: %s, %s", relX, relY);
     var el = paper.getElementByPoint( e.pageX, e.pageY );
     if ( el )
     {
         console.log( el );
     }
     else
     {
         console.log( "No hit." );
     }
 } );

要查看此操作的示例,请访问我的开发服务器上的此页面,并密切关注控制台输出。

一个警告:我似乎记得你需要使用特定的技术将屏幕坐标转换为拉斐尔坐标,具体取决于滚动偏移量——我认为如果窗口垂直滚动,我的代码不能正确处理 Y 坐标。

快乐编码。