У меня есть <button>
(не type="submit
) и <input type="text"/>
на той же странице.Кнопка включения IE при нажатии клавиши ввода
Они не находятся внутри формы, и кнопка находится на многих уровнях выше ввода иерархически.
Ввод текста прослушивает события keyup
и выполняет пользовательское действие, которое не имеет никакого отношения к тому, что делает кнопка.
Однако в IE10, когда нажата клавиша Enter, кнопка запускается, и ввод текста никогда не получает ключ. Chrome, Firefox и Opera (последние все 3) в порядке.
Я запустил красную кнопку, когда ее состояние :active
активировано. Когда вы фокусируетесь на входе, кнопка не изменяется, однако после нажатия Enter она становится красной.
Установка tabindex="-1"
на кнопку ничего не меняет.
В обходные я нашел являются:
- Слушайте
keydown
на входе иpreventDefault()
. Кажется,keyup
слишком поздно. - Поместите вход в виде контейнера
мне не нравится и, особенно второй. Есть ли что-нибудь еще, что я могу сделать?
Надеясь, что это то, с чем кто-то выступил.
EDIT: Вот рабочий пример: http://plnkr.co/edit/LhmTpk5TpWDjOJUD18Bm?p=preview
Спасибо.
Какую версию IE вы проверили с этим? Является ли он согласованным во всех версиях? Можете ли вы предоставить рабочую демонстрацию (например, на jsFiddle, jsBin и т. Д.), Чтобы продемонстрировать ее? – Spudley
IE10, я не могу сделать Fiddle прямо сейчас, но я буду, если никто раньше не столкнулся с этим. Я добавлю версию в теги. Благодарю. – Francisc
http://stackoverflow.com/a/925387/1306811 :: IE, похоже, определяет активную кнопку как ту, которая определена сначала в источнике. Нет способа проверить это в настоящее время, но это довольно ответ, чтобы он мог помочь! – Gorbles