質問: 現在jqueryを使用してブラウザアプリを開発しているのですが。 ブラウザの機能としてCtrl+マウスホイールで拡大縮小ができると思います。(chromeやIE) これをボタンに置き換えたいと思っています。 例えば"+"ボタンを配置し、これが押されたらあたかも[Ctrl+マウスホイール奥へ一回コロコロ]がされたとブラウザに認識させたいのです。 cssを使い $("html").css("zoom", "90%");などのやり方も発見したのですが、 これでは不都合になってしまったため質問しました。 このように実際にその操作はしていなくても[ctrlボタンが押された]や[マウスホイールが動かされた]という動作を意図的に行うことはできるのでしょうか? 詳しい方いましたらご教授お願い致します。
回答: こちらのEntryを参考にCtrl++を発行してみて onkeypress内にてctrlがtrueになっている43(+キーのはず)のイベントが来ることは確認しましたが、 Zoomは発生しませんでしたね・・・ ``` var oEvent = document.createEvent('KeyboardEvent'); // Chromium Hack Object.defineProperty(oEvent, 'keyCode', { get : function() { return this.keyCodeVal; } }); Object.defineProperty(oEvent, 'which', { get : function() { return this.keyCodeVal; } }); oEvent.initKeyboardEvent("keypress", true, true, document.defaultView, false, false, true, false, 43, 43); oEvent.keyCodeVal = 43; document.dispatchEvent(oEvent); ``` 送り先のelementがdocumentになっているのでブラウザに割り当てられた機能としては働かない気がします。