如何使用鼠标移动工具提示

时间:2011-10-03 16:31:51

标签: javascript jquery html

我一直在努力改进jQuery附加工具,以便锁定鼠标。

要做到这一点是一项简单的任务,你所要做的就是将showEvent更改为'mousemove'但是,因为这是show事件,每次移动鼠标时都必须重做整个工具提示功能您移动的每个像素,因此该框与鼠标无法正常连接。

另外,由于滞后盒和鼠洞的问题,盒子通常不能正确隐藏在鼠标上(因为鼠标移动时每个像素都会运行这个函数,因此鼠标输出后它仍在计算中)

这个问题通常很容易解决。您所要做的就是拆分show hide并进入三个不同的事件。 (分别使用mouseenter,mouseleave和mousemove)然而,在工具化的背景下使其工作是一件复杂得多的事情。

以下是示例: http://jsfiddle.net/MarkKramer/HwpEs/2/

注意第三个div我是如何使用它来跟随光标的,但它使用mousemove作为showEvent,当真正的mousemove应该只用于获取工具提示的坐标时。

如果有人能解决这个问题,我将非常感激。

更新:我尝试将alignTo = cursor放在一个mousemove中,除了该函数与变量的范围混淆之外,它会起作用。

1 个答案:

答案 0 :(得分:2)

如果您想要基本的工具提示行为,该插件似乎方式过于复杂。

这样的工具提示的代码非常简单:

$('#tooltip-container').mousemove(function(e) {
    $('#tooltip').css('left', e.pageX + 20);
    $('#tooltip').css('top', e.pageY + 20);
});


$('#tooltip-container').mouseleave(function() {
    $('#tooltip').hide();
});

$('#tooltip-container').mouseenter(function() {
    $('#tooltip').show();
});

如果您想要现场演示,请转到:http://jsfiddle.net/DR4Wv/6/