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