2016-09-30 78 views
0

我的重置按鈕繼續清除畫布並清空聊天框。 return語句不應該結束函數嗎?爲什麼我的重置功能不能停止?

Main.js

var reset = function() { 
    context.clearRect(0,0, canvas[0].width, canvas[0].height); 
    context.beginPath(); 
    $('#guesses').children().empty(); 
    socket.emit('reset', reset); 
    return; 
}; 


$('#reset').on("click", reset); 

socket.on('reset', reset); 

Server.js

socket.on('reset', function(){ 
    socket.broadcast.emit('reset'); 
}); 

回答

3

在你reset函數的末尾,你散發出reset事件。

socket.emit('reset', reset); 

您也已經設置時,所發出的reset事件的處理程序。

socket.on('reset', reset); 

所以每次你打電話reset時候,你發出這最終再次調用reset的事件。

+1

感謝我得到了它,我做:'$( '#復位')上( 「點擊」,函數(){ socket.emit( '復位'); 復位(); });'並從復位功能中移除發射。 –

+0

@TedTzuridis很高興能幫到你! –