2013-04-18 2 views
0

Как можно отключить глобальное использование клавиши вкладок на странице? Я нашел это question, но он использует jQuery, и я не использую jQuery. Я знаю, что я могу установить tabIndex равным -1, чтобы отключить фокус клавиатуры, но это для веб-приложения GWT, которое использует GWT-Ext, смешанное с SmartGWT и OpenLayers, поэтому было бы проще просто установить его один раз на странице для весь набор элементов управления (и существует более ста различных элементов управления).Отключить ключ на глобальном уровне на странице

+1

Почему вы это делаете? Пользователи, которые не могут (или физически не могут) использовать мышь, не смогут использовать вашу страницу, если они не могут использовать вкладку между элементами управления ... – nnnnnn

+0

@nnnnnn: Потому что мне нужно это сделать – 2013-04-18 13:01:16

+0

@ 0A0D Мое решение работает для вас? –

ответ

0

Я закончил тем, что добавить это в моем EntryPoint классе с использованием SmartGWT:

Event.addNativePreviewHandler(new NativePreviewHandler() 
{ 
    @Override 
    public void onPreviewNativeEvent(NativePreviewEvent event) 
    { 
     // tab is key 9 
     if (event.getNativeEvent().getKeyCode() == 9) 
     { 
     event.cancel(); 
     } 
    } 
}); 
1

Вы можете использовать что-то вроде этого:

window.onkeydown = function() { 
    if (event.keyCode == 9) { 
     event.preventDefault(); 
    } 
} 

Я проверил это, введя его в консоли Google Chrome и отключает клавишу Tab.

+0

Это не работает для меня, но это может быть что-то с GWT ... Я пытаюсь понять это – 2013-04-18 13:05:03

+0

Можете ли вы показать какую-то живую страницу, похожую на то, что у вас есть или у вас есть скрипка? Coz это работает для меня, и я дал, как проверить его тоже !!! Он работает даже на этой странице StackOverflow !!! –

+0

Хотелось бы, чтобы я мог .. это локально для нашей системы. Я тоже работаю над StackOverflow. – 2013-04-18 13:40:59

Смежные вопросы