Похоже, ваше определение состояния отключено.Ваш код определяет либо либо, либо на основе его фокуса, но есть третье состояние, когда ни одна ячейка не имеет фокуса.
Я бы функцию, которая выполнялась только при наведении мыши.Пусть он найдет выделенную ячейку, похожую на ту, что вы делали, только по классу, затем измените класс этой ячейки и затем выделите новую ячейку.Таким образом, он меняется только тогда, когда выделяется что-то новое.
Удачи и HTH.- Джо
Обновление: пример в ближайшее время.