将事件添加到SVG文本元素

时间:2014-02-18 07:23:44

标签: javascript html5 javascript-events svg

我有一个svg元素。我已经为它添加了一个mousemove event处理程序,它运行正常。

现在我在其上添加文本元素并且在此处也有added mouseover event处理程序,但事件不会触发。像path and line这样的其他元素正在触发事件,而不是text元素。

下面是我创建文本元素并将事件处理程序绑定到它的代码。

function createXTickLabel(cx, cy, lbl, color) {
    var svgns = "http://www.w3.org/2000/svg";
    var tlbl = document.createElementNS(svgns, "text");
    tlbl.setAttribute("fill", color);
    tlbl.setAttribute("x", cx);
    tlbl.setAttribute("y", cy);
    tlbl.textContent = lbl;
    tlbl.setAttributeNS(null, "class", "tklbl");
    tlbl.setAttributeNS(null, "onmouseover", overTickLabel);
    return tlbl;
}

function overTickLabel(evt){
    // this function is not executed on mouseover
    $("#preview_grid").trigger("mouseover");
    console.log(evt);
}

谢谢。

0 个答案:

没有答案