Простой JS MouseEvent и KeyboardEvent не работают - PullRequest
0 голосов
/ 25 марта 2019

Я ожидал бы, что этот простой пример js / html ниже щелкнет по вводу и напишет букву Q.

Что я здесь не так делаю?

var evt = new MouseEvent("click", {
  bubbles: true,
  cancelable: true,
  view: window
});
document.getElementById('writeToMe').dispatchEvent(evt);

var e = new KeyboardEvent("keydown", {
  bubbles: true,
  cancelable: true,
  key: "Q",
  char: "Q"
});
document.getElementById('writeToMe').dispatchEvent(e);
<input type="text" id="writeToMe">

1 Ответ

0 голосов
/ 25 марта 2019
<input type="text" id="writeToMe">

window.onload = function(){
    var event;
    //click handler
    .addEventListener("click",function(){
        alert("clicked");
    },false);


    //This is true only for IE and firefox
    if(document.createEvent){
        // To create a mouse event , first we need to create an event and then initialize it.
        event = document.createEvent("MouseEvent");
        event.initMouseEvent("click",true,true,window,0,0,0,0,0,false,false,false,false,0,null);
    }
    else{
        event = new MouseEvent('click', {
            'view': window,
            'bubbles': true,
            'cancelable': true,
          key: "Q",
          Char:"Q"
        });
    }

    writeToMe.dispatchEvent(event);
};
...