首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用Jquery测试一个对象是否在另一个对象中?

如何使用Jquery测试一个对象是否在另一个对象中?
EN

Stack Overflow用户
提问于 2010-11-02 00:58:55
回答 1查看 118关注 0票数 0

在不使用插件的情况下,如何检查一个元素是否在另一个元素中?我试着用

element.hover();

但无济于事。对于纯JQuery,这是可能的吗?或者我应该寻找一种解决方法?

代码目前看起来像这样

代码语言:javascript
运行
复制
$(document).ready(function(){  
    $(".element_to_drag").mousedown(function(){  
    $(this).addClass("dragging");   
    $(".dragging").live("mousemove", function(e) {  
        var offset = $("#container").offset();  
        var x = offset.left;  
        var y = offset.top;  
        $(this).css("position", "absolute");  
        $(this).css("left", e.pageX - x);  
        $(this).css("top", e.pageY - y);  
    })  
    $(".dragging").live("mouseup", function(e)  
    {  
        $(this).removeClass("dragging");  
    })  
    $("#elementContainer").hover(function()  
        {  
            $(".dragging").css("background-color", "red");  
        });  
    });  
});

我还在学习中,请随意批评任何东西。

EN

Stack Overflow用户

发布于 2010-11-02 08:23:54

更新您的mousemove函数以包含以下内容:

代码语言:javascript
运行
复制
$(this).css("position", "absolute");  
$(this).css("left", e.pageX - $(this).width()/2);  
$(this).css("top", e.pageY - $(this).height()/2);  

$(this)引用您的可拖动对象。然后,要查看可拖动对象是否包含在#container中,只需使用if语句检查$(this).css("left")是否大于容器的X位置(不是偏移量:参见http://api.jquery.com/position/)。

当然,您可能还想做一些检查,以查看可拖动项的宽度,并确保它完全位于容器内。

票数 0
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4071138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档