jQuery の hover() 関数の結果として、Raphael キャンバスにテキストが残っています。私は基本的に、円の上にカーソルを置いたときにテキストが表示されるようにし、円の上にカーソルを置くのをやめるとテキストが消えることを保証します (hoverOut())。
以下に示すように、hoverOut() でテキストを remove() しようとしていますが、うまくいきません。ただし、長方形を削除する場合は問題なく機能します。get() リクエストに時間がかかりすぎることと関係がありますか?
node = paper.circle(value.xpos_init, value.ypos_init, node_rad).attr({"fill": "#ff0000"})
.hover(function(e){
posx = e.pageX - $('#canvas').offset().left;
posy = e.pageY - $('#canvas').offset().top;
createMenu(posx,posy,"10");
},
function(){
menu.remove();
menu_deg_cent_text.remove();
});
function createMenu(x,y,id_in)
{
menu_x = 100;
menu_y = 60;
menu = paper.rect(x,y,menu_x,menu_y).attr({"fill":"white","stroke":"red"});
$.get("../php/text.php", {id : id_in},
function(data){
menu_deg_cent_text = paper.text(x+(menu_x/2),y+(menu_y/2),"test_text");
});
}