jQuery 中鼠标靠近元素的函数

发布于 2024-12-12 01:37:43 字数 310 浏览 0 评论 0原文

我想在鼠标靠近表格头元素时跟踪并显示工具提示。它与 mouseenter 事件配合使用,但我想在 mouseenter 靠近时在它之前显示工具提示。另外,我想在鼠标移出距离表头一定距离后删除工具提示。

这是我的代码:

$('thead').mouseenter(showtooltip);
$('thead').mouseout(removetooltip);

我怎样才能用 jQuery 做到这一点?

I want to track and show a tooltip when the mouse is near a table head element. It works with the mouseenter event, but I want show the tooltip before mouseenter, when it gets near. Also I want remove the tooltip after mouseout some distance from the table head.

This is my code:

$('thead').mouseenter(showtooltip);
$('thead').mouseout(removetooltip);

How can I do this with jQuery?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

以为你会在 2024-12-19 01:37:43

这有效。第一个参数可以是任何 jQuery 对象。第二个参数是与对象的接近度,在本例中为 20px

演示: http://jsfiddle.net/ThinkingStiff/Lpg8x/

脚本:

$( 'body' ).mousemove( function( event ) {

    if( isNear( $( 'thead' ), 20, event ) ) {
        //show your tooltip here
    } else {
        //hide it here
    };

});           

function isNear( element, distance, event ) {

    var left = element.offset().left - distance,
        top = element.offset().top - distance,
        right = left + element.width() + 2*distance,
        bottom = top + element.height() + 2*distance,
        x = event.pageX,
        y = event.pageY;

    return ( x > left && x < right && y > top && y < bottom );

};

This works. The first parameter can be any jQuery object. The second parameter is the nearness to the object, in this case 20px.

Demo: http://jsfiddle.net/ThinkingStiff/Lpg8x/

Script:

$( 'body' ).mousemove( function( event ) {

    if( isNear( $( 'thead' ), 20, event ) ) {
        //show your tooltip here
    } else {
        //hide it here
    };

});           

function isNear( element, distance, event ) {

    var left = element.offset().left - distance,
        top = element.offset().top - distance,
        right = left + element.width() + 2*distance,
        bottom = top + element.height() + 2*distance,
        x = event.pageX,
        y = event.pageY;

    return ( x > left && x < right && y > top && y < bottom );

};
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文