在svg上鼠标悬停上绘制一个覆盖矩形

时间:2017-07-25 10:31:44

标签: javascript svg

我想通过使用新的rect突出显示区域是活动的。我做了

function coverRect(el){
    var x=el.x.animVal.value;
    var y=el.y.animVal.value;
    var width=el.width.animVal.value;
    var height=el.height.animVal.value;
    var svg   = document.documentElement;
    var svgNS = svg.namespaceURI;
    var rect = document.createElementNS(svgNS,'rect');
    rect.setAttribute('x',x);
    rect.setAttribute('y',y);
    rect.setAttribute('width',width);
    rect.setAttribute('height',height);
    rect.setAttribute('fill','yellow');
    svg.appendChild(rect);
}

var el = document.getElementById('EF-VR1');
el.addEventListener('mouseover', function(){
    coverRect(el);
}, false);

rect正确显示但不在我将鼠标移过的矩形上。此外,我想改变矩形的alpha,以显示下面的内容,并传递由底层矩形拦截的点击。

1 个答案:

答案 0 :(得分:0)

我通过更改光标来解决问题。