2010-10-08 3 views
3

Я пытаюсь имитировать события нажатия клавиш, например Ctrl + D при нажатии кнопки.Выполнить Ctrl + D при нажатии кнопки

Было бы здорово, если бы кто-то мог указать мне в правильном направлении, как добиться того же.

+3

Действительно ли ваш вопрос о подражании нажатию клавиши или фактическая цель запуска функции «Добавить закладку» в браузерах? (Подсказка: у моего браузера нет функции, связанной с Ctrl + D). – Quentin

ответ

1

Вам не разрешено это делать. Представьте себе всю хаос, который я мог бы нанести, если бы смог отправить CTRL-ALT-DEL по желанию.

+1

Никакие программы, не говоря уже о браузере, могут отправлять «реальный» Ctrl-Alt-Del в CSRSS. – Hello71

0

Это будет «стрельба», хотя я оставляю вам упражнение, чтобы найти правильный код.

Как сказал другой человек, вы не можете с ним ничего не делать. Он целенаправленно ограничен.

Однако предположим, что у меня есть редактор wysiwyg в javascript, который поддерживает получение ctrl + s и сохранение, вы должны уметь это самостоятельно и сделать его в любом случае.

В конце концов, это вопрос контекста (фокус), который иногда терпит неудачу (опять же, целенаправленно).

1

Код для запуска пользовательского события (в данном случае, Ctrl + D) выглядит следующим образом:

var evt = jQuery.Event("keypress"); 
evt.keyCode = 100; // d 
evt.ctrlKey = true; 
$(document).trigger(evt); 

NB, что, как и другие ответы сказали, это будет ограничен в его воздействии. Таким образом, вы не сможете повлиять на обычные функции браузера.

+0

Есть ли какой-нибудь фрагмент кода, который я могу запустить и увидеть результат. Я попробовал Ctrl + S, но даже это не сработало – Sandhurst

+0

Обновился рабочий пример. – lonesomeday

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