我正在进行拖放操作,当我将一个元素放在我的方式上时,我想要一个元素向下移动。
答案 0 :(得分:9)
一个简单的黑客就是这样说:
var hoverElem = null;
$('*').hover(function() {hoverElem = this});
然后当你需要调用什么函数来获取值时,只需使用hoverElem
编辑:这是一个资源消耗较少的电话:
$('*').live('mouseenter', function() { hoverEleme = this; });
编辑2:由于.live()被弃用,你应该使用.on()
$("*").on("mouseenter", function() { hoverElem = this; });
答案 1 :(得分:8)
$('*').on('mouseenter', function() { hoverEleme = this; });
然后将鼠标处理程序附加到每个元素(也会在mouseleave上触发)要便宜得多,尤其是你得到的元素越多。
答案 2 :(得分:1)
我不知道是否有标准方法,但我可能会将“鼠标悬停”事件绑定到您可能想要向下移动的所有元素,然后测试以查看您当前是否正在拖动一个对象。
同样,我真的不知道你的确切设置,但你可以有一个全局变量var currentlyDragging = false
然后当你开始拖动时将其设置为true
。然后,当您将鼠标悬停在想要移开的元素上时,您可以测试以查看您的currentyDragging
变量是否为真,如果是,则可以移动它。
有点复杂,但我真的不能想到任何其他方式来做到这一点。 :)