Я работаю с contenteditable iframe, который используется для базового редактирования WYSIWYG. Я заметил странную разницу в том, что между Chrome и Firefox выполняется событие нажатия клавиш Tab.
Когда документ iframe был сконфигурирован с использованием designMode = 'On'
, Вкладка, нажатая внутри документа, перейдет к следующему designMode = 'On'
управления в Firefox (ожидается), но создаст следующий предварительный белый интервал в Chrome
<span class="Apple-tab-span" style="white-space:pre"> </span>
Интересно, что когда тело iframe настраивается вместо использования body.setAttribute("contenteditable", "true")
, который, как я полагал, был тем же самым подходом, который был выполнен по-другому, оба браузера работают так, как я ожидал бы; перемещение фокуса на следующий индекс вкладки.
Может ли кто-нибудь объяснить, почему?
Боюсь, что единственный ответ - "просто потому, что". Не ожидайте, что есть причина, по которой что-то работает в contenteditable
. Я испытал сотни раз, что никто не заботился об этом или не успел позаботиться об этом. Когда у вас есть такие ошибки, как https://code.google.com/p/chromium/issues/detail?id=226941, которые делают контент-контент абсолютно раздражающим для пользователей в Chrome и Opera, и которые даже не были подтверждены разработчиками весь год, то небольшая разница в поведении Tab - это деталь, которую вы должны исправить и забыть;).
Use:
document.designMode = 'on';
Insted of
body.setAttribute("contenteditable", "true")