Показать сообщение отдельно
  #1 (permalink)  
Старый 27.04.2013, 01:50
Новичок на форуме
Отправить личное сообщение для antre Посмотреть профиль Найти все сообщения от antre
 
Регистрация: 25.04.2013
Сообщений: 5

Эмуляция нажатия клавиш в body на jq
Есть в документации на jq такая тема: http://api.jquery.com/category/events/event-object/
Исходя из которой следующая минидемка должна работать (нужно сэмулировать нажатие клавиши "таб", что бы установить фокус ввода на ссылку а, затем сэмулировать нажатие ентера)
<!DOCTYPE html>
<html>
    <head>
        <script type="text/javascript" src="jquery.js"></script>
        <script type="text/javascript">             
            function press(){
                var e = jQuery.Event("keydown", { keyCode: 9 });    //tab
                jQuery("body").trigger(e);
                var e = jQuery.Event("keydown", { keyCode: 13 });    //enter
                jQuery("body").trigger(e);
            }
        </script>
    </head>
    <body> 
        <a href="http://google.com">google</a>
        <form>
            <input type=button value="Нажать" onClick="press()">
        </form>
    </body>
</html>

Проверил в браузерах ff, chrome, под линухой и виндой, и ИЕ - ни где фокус ввода не устанавливается версия jq последняя, пробовал нажимать таб по несколько раз. Если юзать некроссбраузерный msdn-овский метод чисто для IE - всё ок, но не устраивает, нужен вебкит.
Где я налажал в коде? Или это бага? Или браузеры резко повысили безопасность и часть jq уже не работает?
Спасибо.

ЗЫ: фокусом ввода я называю такую рамочку из точек, указывающую какой элемент сейчас выбран

Последний раз редактировалось antre, 27.04.2013 в 01:54.
Ответить с цитированием