编程语言
首页 > 编程语言> > javascript – 模拟shift 1键盘事件并在事件处理程序中检索它

javascript – 模拟shift 1键盘事件并在事件处理程序中检索它

作者:互联网

我正在为我的框架制作一个Spec,需要使用shift键测试一个事件.所以我想插入一个实用的!好像我按下班次1.

我一直在使用Syn框架,但无法模拟它应该是SHIFT 1. According to the docs

Syn.type('[shift]1[shift-up]', 'textInput2'); 

但这不起作用.我期待一个!字符,event.shiftKey为true,event.key为33,但我得到1而不是!而event.key == 49代替.

如何使用Syn或vanilla javascript实现这一点?

made this jsFiddle测试一下,检查控制台.

解决方法:

如果您在这里查看Syn Tests https://github.com/bitovi/syn/blob/c77ae2cbb19ff0a5d3ecd3f9968e15adad289a79/test/qunit/key_test.js

你可以看到他们通过'[shift] A [shift-up]’来模拟大写’A’. Syn只是创建一个事件并传递和设置值.它不会模拟较低级别的键盘交互.

 Syn.type('[shift]![shift-up]', 'textInput2');
 // outputs 33 true 

设置超时将使其工作,不确定原因,但确实如此:http://jsfiddle.net/2zsNV/5/

标签:javascript,unit-testing,keyboard-events,syn
来源: https://codeday.me/bug/20190830/1771367.html