![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| pho3nix |
|
||||||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
Хочу сделать обработку событий отдельно от html кода.
Вместо:
получить:
а обработку событий вынести в js-файл. Сделал следующим образом:
В принципе работает, утечки памяти не наблюдается ни в одном из трёх браузеров. Но почему-то код мне кажется немного индусским. И в Opera 9 после первого наведения на li-элемент курсор впадает в вечный wait, не обращая внимания на переопределение стиля или клавишу Esc. Направьте на путь истинный ;) |
||||||||
|
|||||||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 13 Всего: 36 |
Объясните, зачем вы после срабатывания обработчика удаляете все обработчики?
Почему установив по старинке el.onmouseover = '...', удаляете через removeEventListener. Так же в removeEventListener имена событий указываются без "on" |
|||
|
||||
| lexxICON |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 27.1.2007 Репутация: 2 Всего: 2 |
pho3nix, вот вариант
|
|||
|
||||
| pho3nix |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
Без удаления событий шла утечка памяти. Повозил мышкой по меню - сотню килобайт накрутил. Другого способа в голову не пришло/в гугле не нашёл. Буду весьма благодарен за совет или за ссылку на правильную организацию моей задачи.
Тем не менее, такая конструкция отключает утечку памяти. |
||||
|
|||||
| vasac |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1060 Регистрация: 4.5.2006 Репутация: 13 Всего: 36 |
Там не должно быть утечек памяти?
Вы уверены, что это не просто некоторое повышение деятельности системы в ответ на ваш провод мышкой? В случае десяти проводов по меню 1М исчезает? |
|||
|
||||
| pho3nix |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 13.6.2007 Репутация: нет Всего: нет |
На повышение деятельности системы не похоже, т.к. водил не один десяток раз. 1М не набирал, но 2-4 сотни килобайт набиралось. На сколько я заметил, основное повышение использования оперативной памяти происходило во время переходом курсором мыши от <a> к <li> и обратно. В принципе это не критично, но смотря глобальными мерками - нужно стремиться к идеальности ;) Только почему в моём примере так брыкается Опера? lexxICON, спасибо, дома попробую. |
|||
|
||||
![]()
|
| Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |