if (keyCount == lineLimit) { // method in FF, no Chrome var mock = document.createEvent("KeyboardEvent"); // or KeysEvent mock.initKeyEvent("keypress",true,true,null,false,false,false,false,14,0); var x = document.getElementById('InputCategory'); // rise height before Enter $(this).height(div_height + font_height + offset_height); // mock Enter x.dispatchEvent(mock); // init keyCount keyCount = 0; }
它有效,但在基于webkit的浏览器(如chrome)上无效。
所以我问google并发现键盘事件是DOM Level 3事件之一,这里是一个aticle:http://www.w3.org/TR/DOM-Level-3-Events/
然后我知道/ * chrome&上不支持/ * initKeyboardEvent / safari,/ initUIEvent * /我试过了,它也没用。
可以在chrome上模拟虚拟键盘事件reall吗? plesase帮助我:)
答案 0 :(得分:2)
这样可行,但它不会生成按键事件,而是生成文本插入事件。
var te = document.createEvent('TextEvent');
te.initTextEvent('textInput', true, true, window, 'test');
<element>.dispatchEvent(te);
在输入的末尾插入“test”一词(在您的情况下,您可能会将其替换为\n
。