大佬們知道同個(gè)頁(yè)面給兩個(gè)div元素都賦予焦點(diǎn)嗎
不想和老師那樣得在頁(yè)面上點(diǎn)擊按鈕控制,想另一個(gè)玩家一樣用鍵盤(pán)控制,我就把local.js代碼復(fù)制到remote.js中改了一些名字,然后把:
document.onkeydown=func...
改成相應(yīng)的demo對(duì)象,比如:
document.getElementById('local').onkeydown=func...
最后我給兩個(gè) div:local 和 remote 都設(shè)置了tabindex=0 的屬性,然后在js中獲取兩個(gè)div并讓它們得到焦點(diǎn):document.getElementById('local').focus();
document.getElementById('remote').focus();
還是沒(méi)用,要分別點(diǎn)擊兩個(gè)div,但是就是不會(huì)同時(shí)一直的獲得焦點(diǎn)
只有l(wèi)ocal或者remote兩個(gè)div中的一個(gè)可以鍵盤(pán)操作
若是我的想法不行的求大神給個(gè)可以鍵盤(pán)操作第二個(gè)玩家的代碼
2018-01-11
你的描述,我不是很理解——你的目標(biāo)是操作鍵盤(pán)的時(shí)候,在兩個(gè)區(qū)域都實(shí)現(xiàn)相同的效果?你說(shuō)的那種可能考慮時(shí)間的分發(fā)機(jī)制、鍵盤(pán)事件中途被消耗掉(只是可能,沒(méi)試過(guò))
思路:
我覺(jué)得思路可以是,local.js中的每一次調(diào)用game對(duì)象的方法,都向remote.js中發(fā)送指令——remote.js接收指令后調(diào)用相關(guān)方法(調(diào)用方法跟視頻教程中一樣)
發(fā)送指令的過(guò)程,涉及到事件分發(fā)和線(xiàn)程通信?(剛學(xué)前端,不清除準(zhǔn)確的概念)——應(yīng)該有相關(guān)框架