7

ただ疑問に思っています。実際にキーを押さずにJavaScriptでキープレスイベントを呼び出すことは可能ですか? たとえば、Web ページにボタンがあり、そのボタンがクリックされたときに、特定のキーが押されたかのようにイベントを呼び出したいとします。私はそれが奇妙だと知っていますが、これは JavaScript で行うことができます。

4

2 に答える 2

5

はい、これはinitKeyEventを使用して実行できます。ただし、使用するのは少し冗長です。それが気になる場合は、 @ WojtekTの回答に示されているように、jQuery を使用してください。

それ以外の場合、バニラ JavaScript では、次のように動作します。

// Create the event
var evt = document.createEvent( 'KeyboardEvent' );

// Init the options
evt.initKeyEvent(
             "keypress",        //  the kind of event
              true,             //  boolean "can it bubble?"
              true,             //  boolean "can it be cancelled?"
              null,             //  specifies the view context (usually window or null)
              false,            //  boolean "Ctrl key?"
              false,            //  boolean "Alt key?"
              false,            //  Boolean "Shift key?"
              false,            //  Boolean "Meta key?"
               9,               //  the keyCode
               0);              //  the charCode

// Dispatch the event on the element
el.dispatchEvent( evt );
于 2012-05-09T10:41:22.457 に答える