guacamole-common-js
·
1 min read
最近遇到个问题,即远程桌面开启后,切换到别的tab页,输入事件失效了。
var keyboard = new Guacamole.Keyboard(document);
keyboard.onkeydown = function(keysym) {
// Do something ...
};
keyboard.onkeyup = function(keysym) {
// Do something ...
};
代码大致如上。
原因
Guacamole.Keyboard进行了事件捕获且阻止了冒泡,因此只要没有销毁就会一直捕获网页所有按键。
解决办法
- keyboard.onkeydown/onkeyup绑定事件可以保存到其它地方,将keyboard.onkeydown=null,keyboard.onkeyup=null。之后再触发恢复即可。
- new Guacamole.Keyboard绑定元素设置为RDP桌面的元素即可