如果不使用插件,我如何检查元素是否在另一个内?我试过用左
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");
});
});
});
我还在学习,随意批评任何事情。
答案 0 :(得分:0)
更新您的mousemove函数以包含此内容:
$(this).css("position", "absolute");
$(this).css("left", e.pageX - $(this).width()/2);
$(this).css("top", e.pageY - $(this).height()/2);
$(this)
指的是您的可拖动对象。然后,您需要做的就是查看可拖动对象是否包含在#container
内是if if语句检查$(this).css(“left”)是否大于X位置(不是偏移量:见容器的http://api.jquery.com/position/)。
当然,您可能还需要进行一些检查以查看可拖动项目的宽度,并确保它完全位于容器内。