2017-06-18 79 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."); 
});