尝试向独立SVG文件添加工具提示功能时,我收到“操作数样式”中的“无效”错误

时间:2013-05-13 17:08:18

标签: jquery svg tooltip tooltipster

我正在尝试将工具提示添加到独立的SVG文件中,但它返回以下错误:

TypeError: invalid 'in' operand style
[Break On This Error]   

if ( name in style ) {

用于以下jquery-2.0.0函数:

// return a css property mapped to a potentially vendor prefixed property
function vendorPropName( style, name ) {

    // shortcut for names that are not vendor prefixed
    if ( name in style ) {
        return name;
    }

    // check for vendor prefixed names
    var capName = name.charAt(0).toUpperCase() + name.slice(1),
        origName = name,
        i = cssPrefixes.length;

    while ( i-- ) {
        name = cssPrefixes[ i ] + capName;
        if ( name in style ) {
            return name;
        }
    }

    return origName;
}

如果我通过HTML页面呈现svg文件,它可以正常工作。但我需要它作为一个纯SVG工作,无法做到这一点。

以下是HTML(作品)和SVG表示的相同页面(不是)。工具提示插件名为tooltipster(由Caleb Jacob开发)。

编辑:似乎问题陈述不正确。以下是keith-wood.name的相关引用:

  

SVG DOM与jQuery所针对的HTML DOM不同   设计的。特别是,任何可以动画的属性都是   存储为对象而不是纯字符串。这包括课程   属性。因此,jQuery的与函数一起使用的函数不起作用   在SVG节点上。

可以在互联网上找到对原始jQuery版本的一些修改,试图解决这个问题,但它们反过来不适用于最新版本的jQuery插件。

我不确定这是否可以回答这个问题。

1 个答案:

答案 0 :(得分:1)

当我将jQuery降级到版本1.9.1时,我遇到了IE10的这个问题,刚刚解决了。 http://code.jquery.com/jquery-1.9.1.min.js