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