| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > onmouseup на скролле в ИЕ |
| Автор: Burrr 14.4.2006, 18:37 | ||
Чтобы сразу было понятно о чем речь, привожу в пример код:
В ИЕ при нажатии-отпускании клавиши мыши внутри ДИВ-а, всё работает как положено. Однако при нажатии клавиши на скролле, событие отпускания (mouseup) не срабатывает. В Гекко такого не наблюдается, всё работает как надо. Помогите пофиксить эту ИЕ-шную багу! |
| Автор: 12345c 14.4.2006, 20:05 |
| Можно уменьшить вред введением <div ... onscroll=f() и обработкой. Но там всё равно event.button не отлавливается, отпускание не определишь. |
| Автор: Иль 17.4.2006, 02:10 |
| Burrr, сделай через просачивание событий и отлов события на родительском элементе. То есть оберни первый div в еще один div с CSS/height:auto и лови события на нем. Ничего не обещаю сам не проверив, но должно работать Можешь сказать, почему тебе onClick не достаточно (если это не в образовательных целях конечно), тк может по другому порешится? Burrr, 12345c сами не хотите поэксперементировать? напишите? |
| Автор: Иль 17.4.2006, 02:35 |
| Хотя, можно и на body отлавливать события. А может такое решение тоже не стработает. Надо пробовать, как там на скроле себя ИЕ поведет. Видать скрол это отдельная нода, вне видимого DOM. Такое поведение я в Gecko замечал. Добавлено @ 02:36 Но кажись у меня все работало |
| Автор: Burrr 17.4.2006, 08:10 | ||||
Событие к сожалению не просачивается, такое ощущение, что оно в ИЕ не возникает. Ни на внешнем ДИВе, ни в БОДИ его нет Зато, если намеренно допустить ошибку в обработчике mouseDown (например поставить exit;), то mouseUp срабатывает. Такое ощущение, что mouseDown просто не прекращается. К сожалению работающий вариант с ошибкой в строке статуса также не подходит. Неужели нет решений?
Решаю довольно нетривиальную задачу, связанную со скроллом и в силу определенных причин нужно отловить именно mouseup в диве. |
| Автор: Иль 17.4.2006, 14:51 |
| Попробую тогда сам замутить скипт. Может вечером. |
| Автор: Иль 20.4.2006, 08:47 |
| Замутил, убедился При клике на самой пимпочке скрола без ее сдвига все возможные события после mouseDown не зажгутся. Тупик |
| Автор: Burrr 21.4.2006, 17:07 |
| Жаль! Спасибо, что приложили усилия для решения задачи! Хорошо бы сделать какой-нить форум (или тему) для таких вот задач (под рубрикой impossible |