我一直在努力改进jQuery附加工具,以便锁定鼠标。
要做到这一点是一项简单的任务,你所要做的就是将showEvent更改为'mousemove'但是,因为这是show事件,每次移动鼠标时都必须重做整个工具提示功能您移动的每个像素,因此该框与鼠标无法正常连接。
另外,由于滞后盒和鼠洞的问题,盒子通常不能正确隐藏在鼠标上(因为鼠标移动时每个像素都会运行这个函数,因此鼠标输出后它仍在计算中)
这个问题通常很容易解决。您所要做的就是拆分show hide并进入三个不同的事件。 (分别使用mouseenter,mouseleave和mousemove)然而,在工具化的背景下使其工作是一件复杂得多的事情。
以下是示例: http://jsfiddle.net/MarkKramer/HwpEs/2/
注意第三个div我是如何使用它来跟随光标的,但它使用mousemove作为showEvent,当真正的mousemove应该只用于获取工具提示的坐标时。
如果有人能解决这个问题,我将非常感激。
更新:我尝试将alignTo = cursor放在一个mousemove中,除了该函数与变量的范围混淆之外,它会起作用。
答案 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/