1

在使用 raphael js 创建 svg 地图时,我有悬停状态。我是如何尝试将国家名称写到地图上的。我面临的问题是名称成为自己的对象并阻止国家/地区,因此当光标直接位于文本上方时,我松开悬停并单击。有没有一种方法可以让我绘制文本而不让它挡住地图。我试过 set() 但没有成功。

谢谢,

我在下面没有包含 text() 或 print() :

var r = Raphael('map', 1450, 2180);
    arr = new Array();

for (var country in paths) {

    var obj = r.path(paths[country].path);
    countryName = paths[country].name;
    color = paths[country].color;
    scolor = paths[country].stroke;

    obj.attr({fill:color,stroke:scolor,
        'stroke-width': 1,
        'stroke-linejoin': 'round'});

    arr[obj.id] = country;

    obj
    .hover(function(){
        console.log(arr[this.id]);
        this.animate({
            fill: paths[arr[this.id]].hover
        }, 300);

    }, function(){
        this.animate({
            fill: paths[arr[this.id]].color
        }, 300);
    })
});
4

1 回答 1

0

尝试将pointer-events属性设置none为文本元素。
文档:
http ://www.w3.org/TR/SVG/interact.html#PointerEventsProperty

于 2012-04-17T12:33:17.177 回答