Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.09.2015, 22:36   #1
Abimeleh
Пользователь
 
Аватар для Abimeleh
 
Регистрация: 13.07.2012
Сообщений: 57
По умолчанию Программная генерация нажатия комбинации клавиш в jQuery

Помогите пожалуйста решить.
Есть скрипт который генерирует нажатие клавиши F7, это нажатие запускает последовательность некоторых автоматических действий, на муляже сайта. Задача состоит в том чтобы генерировалось не нажатие одной клавиши, а комбинации клавиш, например CTRL+F7.
В jquery я плохо разбираюсь, посему вчера пытаясь решить это самостоятельно ни к каким результатам не пришел…

Код HTML:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<title>Нажатие Ctrl-F7=Клики по трем кнопкам, 2 секунды и переход на test1.ru</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
</head>
<body>
    <small>Когда вы нажмете Ctrl-F7, нажмутся три эти кнопки одна за другой и через 2 секунды перейдем на test1.ru</small>
 
    <button id="clickMeNow" onclick="this.innerHTML='Вы нажали Первую кнопку'">Первая одинаковая кнопка</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <button id="clickMeMore" onclick="this.innerHTML='Вы нажали Вторую кнопку'">Вторая одинаковая кнопка</button>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <button id="clickOther" onclick="this.innerHTML='Вы нажали Третью кнопку'">Третья одинаковая кнопка</button>
    <script type="text/javascript">
    var e = jQuery.Event( "keydown", { keyCode: 118 } );  //f7
//    var e = jQuery.Event( "keydown", { keyCode: 118 && ctrlKey} ); 
    //function (e) {
        if (e.keyCode == 118 ) {  
//      if (e.keyCode == 118 && e.ctrlKey) {
            document.getElementById("clickMeNow").click();
            setTimeout(function () {
              document.getElementById("clickMeMore").click();
              }, 500);
            setTimeout(function () {
              document.getElementById("clickOther").click();
              }, 500);
            setTimeout(function () {
             document.location.href='http://test1.ru/asm_tutorial_01.html';}, 2000); 
        }
      //  return false;
    //}
    </script>
</body>
</html>
How ugly are feet of those who bring bad news. (comp Romans 10:15)
Abimeleh вне форума Ответить с цитированием
Старый 06.09.2015, 14:01   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Надо добавить опшен ctrlKey: true

UPD:
Сори, проблема в другом: топикстартер не может в синтаксис JS-object
Код:
var e = jQuery.Event( "keydown", { keyCode: 118 && ctrlKey} );
Код:
{
  keyCode: 118,
  ctrlKey: true
}
а еще топикстартер не может в консоль, ибо ему бы показали ошибку ctrlKey is undefined
Alar, верни репу!

Последний раз редактировалось Naive; 06.09.2015 в 14:06. Причина: Жизнь — боль
Naive вне форума Ответить с цитированием
Старый 06.09.2015, 16:31   #3
Abimeleh
Пользователь
 
Аватар для Abimeleh
 
Регистрация: 13.07.2012
Сообщений: 57
По умолчанию

Цитата:
Сори, проблема в другом: топикстартер не может в синтаксис JS-object
Цитата:
а еще топикстартер не может в консоль, ибо ему бы показали ошибку ctrlKey is undefined
дебаггер в глючном ff вообще не показывал никакой ошибки...
а вот запустил в отладчике comodo dragon, и оказалось всё именно так как вы и говорили..

Позвольте узнать по каким книжкам и задачникам вы изучали js. (спрашиваю потому что понимаю что мои знания хромают...)
How ugly are feet of those who bring bad news. (comp Romans 10:15)
Abimeleh вне форума Ответить с цитированием
Старый 06.09.2015, 19:14   #4
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну да, а еще в компиляторе/интерпретаторе баги и ОС глючит.

Все там показывает


Мне впрочем больше нравится Firebug в ФФ либо стандартный в Хроме.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 07.09.2015, 09:52   #5
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Мне впрочем больше нравится Firebug в ФФ либо стандартный в Хроме.
Последнее время пользуюсь родным инспектором ФФ, единственный минус в нем — это инспектор аяксов, но для этого хорош и хром)

Цитата:
Позвольте узнать по каким книжкам и задачникам вы изучали js.
Единственная книга, которую я прочел по JS была "JavaScript просто как дважды два"
А потом как-то завертелось: гугль, универские знания, хабр, JSGarden, javascript.ru, лекции в школе яндекса...
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 07.09.2015, 16:49   #6
Fenex
Форумчанин
 
Аватар для Fenex
 
Регистрация: 15.02.2012
Сообщений: 821
По умолчанию

Цитата:
Сообщение от Naive Посмотреть сообщение
Единственная книга, которую я прочел по JS была "JavaScript просто как дважды два"

А потом как-то завертелось: гугль, универские знания, хабр, JSGarden, javascript.ru, лекции в школе яндекса...
омг, у меня всё также. Хотя, в яндекс я всё же не ходил...

Однако ТС хочу предостеречь от пустой траты времени: ему эта книга уже не нужна, потому что в ней рассказывается по сути об азах программирования на примере JS, а не о самом JS.
^-.-^ My GitHub
Fenex вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эмуляция нажатия комбинации Ctrl+... ~Dry)|(6aH~ Win Api 1 22.02.2012 20:56
Имитация нажатия комбинации клавиш! stalsoft C# (си шарп) 2 24.06.2011 00:13
программная генерация звука на Ассемблире my_sappho_story Помощь студентам 14 05.12.2010 15:54
Комбинации клавиш Alessandro Rossi Свободное общение 8 28.11.2010 23:30
Имитация нажатия комбинации клавиш Zeraim Win Api 15 05.05.2008 20:35