2017-06-18 46 views
1

我有在d3创建的SVG圆形元素。jquery鼠标悬停回调不起作用

<circle cx="0" cy="0" r="50" id="tooltip_area" stroke-width="0.6" style="fill: none; stroke: white;"></circle>

我想创建这个圆上的鼠标悬停效果,但该事件从未被触发。

这里是盘旋代码 -

$('#tooltip_area').mouseover(function(event) { 
    div.transition() 
    .duration(200) 
    .style("opacity", .9); 
    div.html('Hi, This is Sample Text') 
    .style("left", (event.pageX) + "px") 
    .style("top", (event.pageY + 28) + "px"); 
}); 

我不知道为什么徘徊代码是没有得到触发

+0

div.transition();是div定义的?什么说你的控制台? – Fetrarij

+0

waht div是指什么?发布你的整个代码! –

+1

混合D3和jQuery是**从来没有**一个好主意。尽管如此,你的问题中的代码确实有效:https://jsfiddle.net/ck3ojkbu/1/话虽如此,我刚刚投票结束这个问题:*“寻求调试帮助的问题(”为什么不是这个代码工作?“)必须包含所需的行为,特定的问题或错误以及在问题本身中重现问题所需的最短代码。”* –

回答

0

我用D3事件,而不是jQuery事件,它的工作。正如@ gerardo-furtado在评论中所建议的那样,混合使用jquery和D3从来就不是一个好主意。

1

我认为你应该使用

hover 

事件悬停效果。这里是如何悬停事件作品

$(".area").hover(function(){ 
    //This function executes when your mouse pointer enters the area. 
    alert("You entered."); 
}, 
function(){ 
    // This function executes when your mouse pointer leaves the area. 
    alert("You left."); 
});