jQuery: как я получаю элемент под своим курсором?

Я делаю действие перетаскивания, и я хочу, чтобы элемент сместился вниз, когда я приношу элемент по тому, который находится в моем пути.

7
задан NullVoxPopuli 13 August 2010 в 18:51
поделиться

2 ответа

простой хакер мог бы сказать что-то вроде:

var hoverElem = null;
$('*').hover(function() {hoverElem = this});

тогда, когда вам нужно вызвать любую функцию, чтобы получить значение, просто используйте hoverElem

EDIT: это менее ресурсоемкий вызов:

$('*').live('mouseenter', function() { hoverEleme = this; });

EDIT 2: из-за того, что .live () устарел, вы должны использовать .on ()

$("*").on("mouseenter", function() { hoverElem = this; });
9
ответ дан 6 December 2019 в 10:46
поделиться

Я не знаю, есть ли стандартный способ, но я бы, вероятно, привязал событие «наведения курсора» ко всем элементам, которые вы, возможно, захотите переместить вниз, если вы над ними, а затем протестируете чтобы узнать, перетаскиваете ли вы объект в данный момент.

Опять же, я точно не знаю ваших настроек, но у вас может быть глобальная переменная var currentDragging = false , тогда, когда вы начнете перетаскивать, установите для нее значение true . Затем, когда вы наводите указатель мыши на элемент, который хотите переместить, вы можете проверить, истинна ли ваша переменная currentyDragging , и если это так, то вы можете переместить ее.

Немного сложно, но я не могу придумать другого способа сделать это из головы. :)

1
ответ дан 6 December 2019 в 10:46
поделиться
Другие вопросы по тегам:

Похожие вопросы: