Javascript - 事件入门 - 消费和调度

时间:2015-06-25 01:16:52

标签: javascript javascript-events keyboard-events

我正在处理一个javascript文件,当按下特定的按键时,该文件将捕获并消耗用户的按键。相反,该击键应该发送一系列击键。

到目前为止,我已经能够成功捕获并消费用户的击键。但是,我还没有能够发送相应的序列。

目标:当用户按下[ctrl + m]时,应执行[ctrl + i] [ctrl + o] [ctrl + m](无递归)

破碎的代码:

function replaceKeyEvent(evtobj) {

if(evtobj.keyCode == 73 && evtobj.ctrlKey){
 window.alert("101");   
 }
if (evtobj.keyCode == 77 && evtobj.ctrlKey) {

  evtobj.preventDefault();
   window.alert("test");
/*
 var evt = document.createEvent("KeyboardEvent");
 evt.initKeyboardEvent();
 evt.ctrlKey = true;
 */
var e = new KeyboardEvent("keypress", {
    bubbles : true,
    cancelable : true,
    char : "I",
    key : "i",
    shiftKey : false,
    ctrlKey : true,
    keyCode : 73

 });
 document.dispatchEvent(e);
 window.alert(e);

}
}

document.onkeydown = replaceKeyEvent;

到目前为止我只是想抓住[ctrl + m]并发送第一个keyboardevent(这是ctrl + i),并作为测试,当脚本看到ctrl + i时它应该警告101(介绍笑话)是的我知道)。

如果有人可以提供帮助,请告诉我。我一般都很擅长调度事件,更不用说javascript

编辑:关于环境(浏览器,操作系统等)之间的交叉功能的任何注释,请指出我正确的方向 edit2:更新的代码,仍然没有工作,停止过夜

0 个答案:

没有答案