элемент ввода левый / правый пузырь - PullRequest
0 голосов
/ 02 августа 2011

У меня странная проблема, у меня есть некоторые входные элементы внутри элемента div. К элементу div прикреплен обработчик событий для захвата левой и правой клавиш. Элемент div также имеет tabIndex.

Я надеюсь, что когда фокусируется на элементе div, я могу захватить левую и правую клавиши. Это работает, и я затем отменяю событие (остановите пузырь и запретите настройку по умолчанию), если нажата левая и правая клавиши.

Но теперь левая и правая клавиши не работают в элементах ввода, вместо этого элемент div обрабатывает нажатие клавиши и отменяет событие.

Это нормальное поведение? Если так, что я могу с этим поделать?

Спасибо

AJ

1 Ответ

1 голос
/ 02 августа 2011

Это проблема пузырей событий.

Я не знаю, какие у вас целевые браузеры, но проблема в том, что в некоторых случаях события сначала записываются из внешнего блока, в других -сначала внутренний divСтандарт заключается в том, что события идут вниз, а затем вверх.

Вам нужно, чтобы ваш div захватывал на фазе пузырьков (вверх), чтобы сделать это, используйте yourdiv.addEventListener('keydown',doSomething,false) (измените тип события на ваш,может быть нажатие клавиши или что-то еще).

Здесь является полезной ссылкой, чтобы объяснить это лучше, чем я.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...