vue模拟键盘事件

https://juejin.cn/post/6844903850336321549

exportfunctionfireKeyEvent(el, evtType, keyCode) { var evtObj;if(document.createEvent) {if(window.KeyEvent) {//firefox 浏览器下模拟事件 evtObj = document.createEvent('KeyEvents'); evtObj.initKeyEvent(evtType,true,true, window,true,false,false,false, keyCode, 0); }else{//chrome 浏览器下模拟事件 evtObj = document.createEvent('UIEvents'); evtObj.initUIEvent(evtType,true,true, window, 1); delete evtObj.keyCode;if(typeof evtObj.keyCode ==="undefined") {//为了模拟keycode Object.defineProperty(evtObj,"keyCode", { value: keyCode }); }else{ evtObj.key = String.fromCharCode(keyCode); }if(typeof evtObj.ctrlKey ==='undefined') {//为了模拟ctrl键 Object.defineProperty(evtObj,"ctrlKey", { value:true}); }else{ evtObj.ctrlKey =true; } } el.dispatchEvent(evtObj); }elseif(document.createEventObject) {//IE 浏览器下模拟事件 evtObj = document.createEventObject(); evtObj.keyCode = keyCode el.fireEvent('on'+ evtType, evtObj); }}


fireKeyEvent(document.getElementById('aa'),'keydown',40);

作者:前端程序狗

链接:https://juejin.cn/post/6844903850336321549

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容