【问题标题】:jQuery events propagated from SVG elements in internet explorer从 Internet Explorer 中的 SVG 元素传播的 jQuery 事件
【发布时间】:2010-12-07 21:17:04
【问题描述】:

当在动态创建的 SVG 元素(例如由 raphael.js 创建的元素)上触发事件时,是否有绕过 IE7 产生“错误:失败”的好方法?

我认为当 jQuery 查看我的实时处理程序以检查 SVG 元素是否与我指定的任何实时选择器匹配时,正在产生“错误:失败”......现在我手动绑定调用的函数

e.stopPropagation();

对于我由 raphael 生成的 SVG 上的每个事件(mouseenter、mouseleave、click 等)。

【问题讨论】:

  • IE 7 支持 SVG?如果我没记错的话,Raphael.js 将 VML 用于 IE。
  • 啊。好的——我在处理由 VML 绘图触发的事件时遇到了问题......

标签: javascript jquery internet-explorer internet-explorer-7 raphael


【解决方案1】:

我找不到防止这个 jQuery 问题的好方法。

所以我最终做的是在 Raphael.js 中捕获事件并调用 e.stopPropagation();然后我使用 IE 的 fireEvent 在 VML/SVG 元素的父元素上再次启动事件。有点小技巧,但现在可以了。

【讨论】:

    【解决方案2】:

    我发现使用 Brandon Aaron 的“livequery”插件代替 jQuery 的原生“live”方法来对“change”事件的任何实时绑定解决了这个问题。

    见:

    hakoniemi

    jQuery Bug

    【讨论】:

      猜你喜欢
      • 2018-04-24
      • 1970-01-01
      • 2021-02-13
      • 1970-01-01
      • 2015-10-11
      • 2020-05-21
      • 2019-04-16
      • 2016-03-21
      • 2015-05-20
      相关资源
      最近更新 更多