Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 按键输入在Chrome中不起作用_Javascript_Jquery_Google Chrome - Fatal编程技术网

Javascript 按键输入在Chrome中不起作用

Javascript 按键输入在Chrome中不起作用,javascript,jquery,google-chrome,Javascript,Jquery,Google Chrome,我试图在React网站上使用Chrome扩展发送击键输入,但无法使其正常工作。下面是一段在google.com上键入“a”的代码 我是根据你的答案来做这件事的 但它不起作用 function createKeyboardEvent (aType, aTarget, aKeyCode, opt_keyModifiers) { var mods, match, domEvent; mods = (opt_keyModifiers == null) ? '' : opt_keyModi

我试图在React网站上使用Chrome扩展发送击键输入,但无法使其正常工作。下面是一段在google.com上键入“a”的代码

我是根据你的答案来做这件事的 但它不起作用

function createKeyboardEvent (aType, aTarget, aKeyCode, opt_keyModifiers) {
    var mods, match, domEvent;
    mods = (opt_keyModifiers == null) ? '' : opt_keyModifiers;
    match = /\[(.*)\]/.exec(aKeyCode);
    var keyCode, charCode, which;

    var key = String.fromCharCode(aKeyCode).toLowerCase();
    keyCode = aKeyCode;
    which = aKeyCode;
    charCode = 0;

    domEvent = new window.KeyboardEvent(aType, {
       bubbles: true,
       cancelable: true,
       ctrlKey: mods.indexOf('ctrlKey') !== -1,
       altKey: mods.indexOf('altKey') !== -1,
       shiftKey: mods.indexOf('shiftKey') !== -1,
       metaKey: mods.indexOf('metaKey') !== -1,
       key: key,
       charCode: 0,
       which: keyCode,
       keyCode: keyCode,
       codeVal: "KeyA",
       view: window
    });

    // Chromium Hack. With Chrome 43, our setting of keycode and
    // charcode was deprecated.
    Object.defineProperty(domEvent, 'keyCode', {
        get : function() {
            return this.keyCodeVal;
        }
    });     
    Object.defineProperty(domEvent, 'which', {
        get : function() {
            return this.whichVal;
        }
    });           
    Object.defineProperty(domEvent, 'charCode', {
        get : function() {
            return this.charCodeVal;
        }
    });
    Object.defineProperty(domEvent, 'key', {
        get : function() {
            return this.keyVal;
        }
    });
    Object.defineProperty(domEvent, 'code', {
        get : function() {
            return this.codeVal;
        }
    });
    domEvent.charCodeVal = charCode;
    domEvent.keyCodeVal = keyCode;
    domEvent.whichVal = which;
    domEvent.keyVal = key;
    domEvent.codeVal = "KeyA";
    aTarget.dispatchEvent(domEvent);
}

// Type 'a'
var target = document.getElementById('lst-ib');
target.focus();
var nextKeyCode = 65;
createKeyboardEvent('keydown', target, nextKeyCode);
createKeyboardEvent('keypress', target, nextKeyCode);
createKeyboardEvent('keyup', target, nextKeyCode);

有什么问题吗?击键输入“a”没有出现在google.com的输入字段中。