问答详情
源自:3-1 总结

大佬们知道同个页面给两个div元素都赋予焦点吗

不想和老师那样得在页面上点击按钮控制,想另一个玩家一样用键盘控制,我就把local.js代码复制到remote.js中改了一些名字,然后把:
document.onkeydown=func...
改成相应的demo对象,比如:
document.getElementById('local').onkeydown=func...

最后我给两个 div:local 和 remote 都设置了tabindex=0 的属性,然后在js中获取两个div并让它们得到焦点:document.getElementById('local').focus();
document.getElementById('remote').focus();
还是没用,要分别点击两个div,但是就是不会同时一直的获得焦点
只有local或者remote两个div中的一个可以键盘操作

若是我的想法不行的求大神给个可以键盘操作第二个玩家的代码

提问者:学编程的懒虫 2017-11-18 16:58

个回答

  • 风之承
    2018-01-11 17:45:13

    你的描述,我不是很理解——你的目标是操作键盘的时候,在两个区域都实现相同的效果?你说的那种可能考虑时间的分发机制、键盘事件中途被消耗掉(只是可能,没试过)

    思路:

    我觉得思路可以是,local.js中的每一次调用game对象的方法,都向remote.js中发送指令——remote.js接收指令后调用相关方法(调用方法跟视频教程中一样)

    发送指令的过程,涉及到事件分发和线程通信?(刚学前端,不清除准确的概念)——应该有相关框架