我已经pointer-events: none
使用 jQuery 在 Raphael 元素上实现了,如下所示:
var raphaelElement = Raphael.ellipse(x,y,w,h);
$(raphaelElement.node).css({'pointer-events': 'none'});
这工作正常,但当然在 IE8 中,Raphael 使用 VML 而不是 SVG,这个解决方案失败了。
有没有人有另一种解决方案来让 Raphael 元素忽略事件。
我已经pointer-events: none
使用 jQuery 在 Raphael 元素上实现了,如下所示:
var raphaelElement = Raphael.ellipse(x,y,w,h);
$(raphaelElement.node).css({'pointer-events': 'none'});
这工作正常,但当然在 IE8 中,Raphael 使用 VML 而不是 SVG,这个解决方案失败了。
有没有人有另一种解决方案来让 Raphael 元素忽略事件。
使 IE8(及更早版本)工作的唯一方法是实际捕获事件,并在事件处理程序中:
.style.display='none'
)elementFromPoint()
方法找到'catcher'下面的下一个元素.style.display=''
)这种通用方法(减去第 3 步)已在 IE 上使用了 10 多年,以允许用户直接在光标下拖动元素,同时仍检测下方可能放置目标元素的“鼠标悬停”。