Firing a Keyboard Event in Safari, using JavaScript

前端 未结 5 1233
走了就别回头了
走了就别回头了 2020-11-22 05:22

I\'m trying to simulate a keyboard event in Safari using JavaScript.

I have tried this:

var event = document.createEvent(\"KeyboardEvent\");
event.in         


        
5条回答
  •  无人共我
    2020-11-22 06:10

    Did you dispatch the event correctly?

    function simulateKeyEvent(character) {
      var evt = document.createEvent("KeyboardEvent");
      (evt.initKeyEvent || evt.initKeyboardEvent)("keypress", true, true, window,
                        0, 0, 0, 0,
                        0, character.charCodeAt(0)) 
      var canceled = !body.dispatchEvent(evt);
      if(canceled) {
        // A handler called preventDefault
        alert("canceled");
      } else {
        // None of the handlers called preventDefault
        alert("not canceled");
      }
    }
    

    If you use jQuery, you could do:

    function simulateKeyPress(character) {
      jQuery.event.trigger({ type : 'keypress', which : character.charCodeAt(0) });
    }
    

提交回复
热议问题