サイトの特定のボタンにマウスを合わせるときに、ユーザーに指示するツールチップを表示したいと思います。基本的に、「has_tooltip」クラスのボタンにマウスを合わせると、ツールチップがアタッチされます。
$('.has_tooltip').live({
mouseenter : function(e) {
if($('#tooltip_container').length > 0){
$('#tooltip_container').remove();
}
var $t = $(this), text = $t.attr('rel'), left = e.pageX-25, top = e.pageY-25;
if($t.attr('rev') === '1') {
text += ' <span class="tooltip_warning">You must be <a href="/users/login" class="modal-dynamic">logged in</a> to make use of this.</span>'
}
$tooltip = $('<div id="tooltip_container">'+text+'</div>');
$('body').prepend($tooltip);
$tooltip.css({
left: left+'px',
top: top+'px'
});
},
});
また、ユーザーのカーソルが新しく作成されたツールチップボックスを離れると、カーソルが消えるはずです。
$('#tooltip_container').live({
mouseleave : function(e){
$(this).remove();
}
});
ただし、「has_tooltip」クラスのボタン上でマウスを高速で移動するとツールチップが追加されますが、移動が速すぎてmouseleaveイベントをトリガーできません。
誰かが私がこれを修正する方法についていくつかのヒントがありますか?