[英]issue with sending event data with click over socket.io
原諒我,最近幾天我一直在學習node和js,它們來自C#/ unity,並且一切都與我所知道的有所不同。 我正在制造協作式鼓機,我的工作量達到了90%: http : //ec2-54-194-29-66.eu-west-1.compute.amazonaws.com :9000/
我的節點服務器正在工作,正在發送按鍵和鼠標坐標,但是我在映射鼠標單擊事件時遇到了問題,我在其他連接和服務器的控制台中注冊了單擊,但是我似乎不太清楚了解正確發送事件的內容。 我不能寫var data = list:e.classList和read data.list做同樣的事情嗎?
這是我一直試圖開始工作的代碼,但是我無法讀取屬性錯誤:
function newMouseOn(data)
{
console.log("Is this working Click On?" + data.target);
data.list.add('active');
//clickPlayOn(data);
data.target.play();
}
function newMouseOff(data)
{
console.log("Is this working ClickOff?" + data.target);
//clickPlayOff(data);
data.list.remove('active');
}
socket.on('mouseOn', newMouseOn);
socket.on('mouseOff', newMouseOff);
function clickPlayOn(e)
{
var data = {
id: e.target.id,
timeStamp: e.timeStamp,
type: e.type,
target: e.target,
list: e.classList
}
socket.emit('mouseOn', data);
e.target.classList.add('active');
e.target.play();
}
function clickPlayOff(e)
{
var data =
{
id: e.target.id,
timeStamp: e.timeStamp,
type: e.type,
target: e.target,
list: e.classList
}
socket.emit('mouseOff', data);
e.target.classList.remove('active');
}
server side:
socket.on('mouseOn', MouseClick);
socket.on('mouseOff', MouseClicked);
function MouseClick(data)
{
socket.broadcast.emit('mouseOn', data);
console.log(data);
}
function MouseClicked(data)
{
socket.broadcast.emit('mouseOff', data);
console.log(data);
}
我最初試圖只是發出e或e.target而不是該數據結構,但這似乎沒有用。 有人對我缺少的東西有任何想法嗎? (除了大腦)
您收到的對象( data
)沒有方法,它作為JSON傳輸然后轉換為對象,因此您不能調用任何方法,例如data.target.play();
。
如果需要任何方法,則必須在接收對象時添加它們。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.