Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Отловить направление onmousemove event? (https://javascript.ru/forum/misc/25209-otlovit-napravlenie-onmousemove-event.html)

jsuse 28.01.2012 23:03

Отловить направление onmousemove event?
 
Возможно ли отловить направление onmousemove event? Нужно для драг и дроп. Например, когда собираешься тянуть элемент вниз, код определят, что направление вниз и запрещает. Разрешается только вверх.

Полезное свойство. Думаю, не может быть, чтобы не было штатного. Но порылся в спецификациях, на qJ, на Мазиле, и нечего похожего не нашел. Может кто-то знает? Или нет штатного, писать свое надо?

devote 28.01.2012 23:13

только отслеживанием координат мыши

T-sh 29.01.2012 01:40

как извращенный вариант: (однажды реализовывал... с координатами возиться лень было, а красота кода была не приоритетом) обернул нужный div четырьмя span'ами, каждый из который выступал из-за div'a только с одной стороны, и отлавливал мышь на них.. в зависимости от результата — то или иное действие)

Livaanderiamarum 29.01.2012 02:04

Цитата:

Сообщение от T-sh
как извращенный вариант: (однажды реализовывал... с координатами возиться лень было, а красота кода была не приоритетом) обернул нужный div четырьмя span'ами, каждый из который выступал из-за div'a только с одной стороны, и отлавливал мышь на них.. в зависимости от результата — то или иное действие)

жесть

Livaanderiamarum 29.01.2012 02:05

Нет. родного нет, нужно писать свое.

Livaanderiamarum 29.01.2012 02:09

так бы сделал Максим)
document.body.onmousemove = (function() {
	var y = 0
	return function(e) {
		if (e.clientY > y) {
			alert('вниз')
		} else if (e.clientY < y) {
			alert('вверх')
		}
		y = e.clientY
	}
})()

T-sh 29.01.2012 02:53

Цитата:

Сообщение от Livaanderiamarum (Сообщение 153814)
жесть

если просто требуется узнать куда ушел курсор — жесть, а если ещё и производить манипуляции вокруг блока — по мне в самый раз обёртывание :)

Livaanderiamarum 29.01.2012 02:54

Но ведь это непомерная нагрузка

T-sh 29.01.2012 02:58

Цитата:

Сообщение от Livaanderiamarum (Сообщение 153822)
Но ведь это непомерная нагрузка

с чего это??? отловить over после out'a и продолжать манипуляции с текущим элементом — какая тут нагрузка? не более, чем высчитывать по координатам, а потом через условие производить действия.

Livaanderiamarum 29.01.2012 03:01

лишние блоки сильнее нагружают комп чем то что сделал я. вот с чего.


Часовой пояс GMT +3, время: 00:45.