I have coded some stuff:
http://fincha.com/kunden/schmitt/
I zoom in with .css("zoom")
but I need the buttons to simulate CTRL + or CTRL -
This code isn't working for me:
e = jQuery.Event("keydown");
e.which = 50;
$("input").trigger(e);
Please help!
EDIT
I actually wanted to zoom-in
and zoom-out
the whole web page, not just a input field.
jQuery normalizes modifier keys on events by setting one or more properties on the event
object. So, you want to set event.ctrlKey
to true
, so this should work for you:
e = jQuery.Event("keydown");
e.which = 50;
e.ctrlKey = true;
$("input").trigger(e);
However, as per a comment at source (linked below):
You cannot easily change values in the event object (probably for security reasons).
So, if you're unable to set the event's properties after constructing the Event
object, then you can $.extend()
it to set the ctrlKey
property:
e = jQuery.Event("keydown");
fake = $.extend({}, e, {which: 50, ctrlKey: true});
$("input").trigger(fake);
One other thing: I'm not sure if you're trying to use key code 50
for the + or the - keys. Maybe you are, and you're using a different keyboard layout, but according to this demo, 50
is the JavaScript key code for hitting 2 - so that could also be part of your problem.
Source: comments on a jQuery API page.
Edit:
All this aside, I don't think you can actually change the browser's zoom level using JavaScript, even if you're "sending" the keyboard command to do so.
Access browser's page zoom controls with javascript
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With