jQuery нормализует ключи модификатора событий, устанавливая одно или несколько свойств объекта event
. Итак, вы хотите установить event.ctrlKey
в true
, так что это должно работать для вас:
e = jQuery.Event("keydown");
e.which = 50;
e.ctrlKey = true;
$("input").trigger(e);
Однако, в соответствии с комментарием на источник (связанный ниже):
Вы не можете легко изменить значения в объект события (возможно, из соображений безопасности).
Так что, если вы не в состоянии установить свойство события после построения Event
объекта, то вы можете $.extend()
это установить ctrlKey
свойства:
e = jQuery.Event("keydown");
fake = $.extend({}, e, {which: 50, ctrlKey: true});
$("input").trigger(fake);
Еще одна вещь: я Не уверен, что если вы пытаетесь использовать код ключа 50
для + или - ключей. Возможно, вы есть, и вы используете другую раскладку клавиатуры, но согласно this demo, 50
является кодом кода JavaScript для удара - так что это также может быть частью вашей проблемы.
Источник: comments on a jQuery API page.
Edit:
Все это в сторону, я не думаю, что вы можете на самом деле изменить уровень масштабирования в браузере с помощью JavaScript, даже если вы «посылать» команду с клавиатуры, чтобы сделать так.
Access browser's page zoom controls with javascript
Благодарим вас за ответ, вы правы, нет способа встретить такую горячую клавишу –