JavaScript передает событие mouseenter элементу, который находится под другим элементом - PullRequest
2 голосов
/ 26 октября 2011

Я пытаюсь создать небольшое приложение-календарь, похожее на Календарь Google.Я пытаюсь создать события с помощью функции щелчка и перетаскивания, чтобы события совпали с сеткой.Я пытаюсь привязать перетаскивание к элементам TD ниже элемента DIV события, который работает при движении вниз (удлинение события), но не работает при движении вверх (сжатие события).

Что происходитявляется то, что событие mouseenter запускается для элемента DIV события, но оно никогда не запускается для основного TD.Если вы попытаетесь изменить размер DIV, переместившись вверх в сторону, это сработает, потому что TD фактически получают событие mouseenter.

Календарь Google и JQuery Week Calendar используют событие mousemove, но событие mousemove вызывается для каждогопиксель, который кажется пустой тратой.Есть ли способ написать это без использования события mousemove?

Можно ли поместить элемент DIV за столом и TD?Если таблица несколько прозрачна, пользователь все равно сможет видеть DIV, но на самом деле будет запускать события на TD.Я пытался сделать это с z-index, но, похоже, это не сработало.

jsFiddle Пример кода: http://jsfiddle.net/rockymeza/8SHpA/

1 Ответ

2 голосов
/ 26 октября 2011

Похоже, у вас возникла похожая проблема, с которой я столкнулся:

вы хотите запустить событие за элементом?Ответ CSS.Установить указатель-события: нет;родителю.

Я провел тест, в котором пытался (безуспешно) реализовать то же поведение на сенсорных устройствах.Вы можете проверить это по адресу: http://www.hakoniemi.net/misc/pointer-events.html, если это поможет вам в вашей проблеме.

...