在不使用插件的情况下,如何检查一个元素是否在另一个元素中?我试着用
element.hover();
但无济于事。对于纯JQuery,这是可能的吗?或者我应该寻找一种解决方法?
代码目前看起来像这样
$(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");
});
});
});我还在学习中,请随意批评任何东西。
发布于 2010-11-02 08:23:54
更新您的mousemove函数以包含以下内容:
$(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/)。
当然,您可能还想做一些检查,以查看可拖动项的宽度,并确保它完全位于容器内。
https://stackoverflow.com/questions/4071138
复制相似问题