Используя javascript, почему мое событие onmouseover не запускается? - PullRequest
0 голосов
/ 10 декабря 2011

Я пишу библиотеку javascript для школьного проекта, которая позволит вам реализовывать перетаскивание. Я реализовал перетаскивание. Когда пользователь перетаскивает перетаскиваемый объект, я создаю частично прозрачный клон объекта, который следует за указателем мыши до тех пор, пока он не поднимется над мышью (onmouseup). Когда они перетаскивают объект, который нужно отбросить, я хочу, чтобы был визуальный элемент, показывающий пользователю, что он может уронить туда свой объект.
Пользовательский интерфейс Jquery сделал это: http://jqueryui.com/demos/droppable/#visual-feedback

Я не могу заставить это работать, потому что мое событие onmouseover не запускается, потому что мой элемент клона мешает. Мой клон всегда следует за указателем мыши. Как я могу получить событие, чтобы запустить элемент под клоном?

Ответы [ 2 ]

3 голосов
/ 30 октября 2012

onMouseDown/Up определены для перетаскиваемых элементов.Элементы под перетаскиваемым объектом не смогут поймать событие onMouseOver.Зачем?Поскольку вы перетаскиваете объект, и этот объект может только перехватить событие onMouseOver.

Итак, чтобы определить пункт назначения, возможно, вам следует создать сценарий, который вычисляет координаты объекта отбрасывания и сохраняет их.Затем выполните поиск, если координаты мыши находятся внутри droppableObjectCoordinates, и после отпускания левой кнопки мыши перетащите то, что вы перетащили, в правильное положение.

0 голосов
/ 10 декабря 2011

Используйте событие mousemove на теле, которое проверяет координаты мыши относительно объекта clientX и clientY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...