简单的JS MouseEvent和KeyboardEvent不起作用

时间:2019-03-25 12:56:38

标签: javascript html mouseevent keyboard-events

我希望下面的这个简单的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 :(得分:0)

<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);
};