TypeError: Illegal constructor Chrome
Код работает в Opera, в Chrome не работает:
try { function fire(){ var press=new KeyboardEvent('keypress',{ key:'a', bubbles:true, cancelable:true, isTrusted:true, keyCode:97, charCode:97, wich:97, view:window }); document.body.dispatchEvent(press); }; document.body.addEventListener("keypress",function(event){ alert("Вы нажали "+event.key); },false); fire(); } catch(err) { alert(err); } |
vitorrio,
строка 11 which и может document.body ещё нет? |
vitorrio,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> </head> <body> <script> try { function fire(){ var press=new KeyboardEvent('keypress',{ key:'а', bubbles:true, cancelable:true, isTrusted:true, keyCode:97, charCode:97, which:97, view:window }); document.body.dispatchEvent(press); }; document.body.addEventListener("keypress",function(event){ alert("Вы нажали "+event.key); },false); fire(); } catch(err) { alert(err); } </script> </body> </html> |
Та же самая ошибка, ошибка в конструкции "var press=new KeyboardEvent('keypress',{
" |
var keyEvent = document.createEvent('KeyboardEvent'); Object.defineProperty(keyEvent, 'keyCode', { get : function() { return this.keyCodeVal; } }); keyEvent.initKeyboardEvent('keypress', true, false, null, 0, false, 0, false, 77, 0); keyEvent.keyCodeVal = 77; document.body.dispatchEvent(keyEvent); Вот так работает, правда не показывается символ |
Часовой пояс GMT +3, время: 21:11. |