Из небольшой игры кажется, что Chrome 30.0.1599.69 m на windows7 не генерирует событие mouseenter, если удерживать левую кнопку при перемещении по элементу.Таким образом, использование события onmouseenter дает тот же результат, что и использование css - возможно, это (не инициированное) событие используется для сигнализации механизма css о том, что что-то нужно изменить.
В любом случае, вы можете просто добавить кодобрабатывать события mousemove и mouseout.Я просто устанавливаю цвет текста с помощью js, хотя что-то, что переключает класс, вероятно, будет лучшим вариантом.По крайней мере, js будет использовать время, которое должен был использовать css, поэтому он не будет перегружен, хотя он и отстраняет, переделывая все это всякий раз, когда мышь двигается.
Возможно, вы можете использовать removeEventListener из обработчика, который вы пытаетесь удалить.Если это так, вы можете присоединить js для обработки событий с помощью addEventListener, прикрепив к обоим событиям при загрузке страницы.Когда событие onmousemove было запущено, вы можете изменить стиль, а затем удалить обработчик.Затем, когда событие mouseout сработало, вы можете восстановить стиль и повторно присоединить обработчик onmove.Я не удивлюсь, если попытка удалить обработчик из события изнутри самого обработчика потерпит неудачу, но можно только попробовать.Это только добавило бы несколько байтов к js, но значительно улучшило бы эффективность (с точки зрения ссылки, а не всей страницы) - от потенциально очень плохой, если мышь перемещалась по ссылке, до 100% - то есть стильустанавливается ровно один раз и очищается ровно один раз за цикл ввода / вывода.
<a href="http://www.jsfiddle.net" onmousemove = "this.style.color='red'" onmouseout = "this.style.color=''">words</a>
Работает для меня - Примечание: тестируется только с хромом в win7.