jQuery:如何获取光标下的元素?

时间:2010-08-13 18:51:18

标签: jquery

我正在进行拖放操作,当我将一个元素放在我的方式上时,我想要一个元素向下移动。

3 个答案:

答案 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变量是否为真,如果是,则可以移动它。

有点复杂,但我真的不能想到任何其他方式来做到这一点。 :)