javascript - 指针事件 : none VML raphael solution

标签 javascript svg raphael

我已经使用 jQuery 在 Raphael 元素上实现了 pointer-events: none,如下所示:

var raphaelElement = Raphael.ellipse(x,y,w,h);
$(raphaelElement.node).css({'pointer-events': 'none'});

这工作正常,但当然在 IE8 中,Raphael 使用 VML 而不是 SVG,并且此解决方案失败。

有没有人有其他解决方案来使 Raphael 元素忽略事件。

最佳答案

在 IE8(及更早版本)上实现此功能的唯一方法是实际捕获事件,并在事件处理程序中:

  1. 隐藏元素 (.style.display='none')
  2. 使用elementFromPoint()查找“捕手”下方的下一个元素的方法
  3. re-create and fire the event on that element (另见 this)
  4. 再次显示捕手 (.style.display='')

这种通用方法(减去第 3 步)已在 IE 上使用了 10 多年,以允许用户将带有它的元素直接拖动到光标下方,同时仍然检测下方可能放置目标元素的“鼠标悬停”。

关于javascript - 指针事件 : none VML raphael solution,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10951868/

相关文章:

javascript - 动态更新对象中的 Getter 函数

javascript - raphael.js 与 paper.js

css - SVG 在组中旋转文本 180 度(翻转)

javascript - 检查对象是否超出 Canvas (Raphael.js)

label - 拉斐尔 JS : mouseover/mouseout - problem with text-labels

javascript - verticalAlign sub/sup 不工作

Javascript 检测 Skype?

javascript - 如何将非常大的算法盟友正确规范化为相对较小的数字范围?

svg - 如何在 SVG 中进行 block 注释

javascript - Raphael 缩小版本不适用于 IE。任何想法?