2
私はちょうどなぜsocket.ioはクリックイベントでうまく動作しないのですか?
<div id="colorMe"> Change Me </div>
を持っていると私は、任意のウィンドウ上でクリックしたときに、これはすべてのウィンドウ上のdiv着色するsocket.ioを使用しようとしているし、もう一度クリックしたときに、それはその色を変更する非常に単純なHTMLコードを持っていますどこにでも戻ることができます。
しかし、これは初めてのみ動作し、どこでも色が青色になりますが、再度クリックすると白く戻ることはありません。
これは、サーバーのコードです:
io.on('connection', function(socket){
socket.on('changeColor', function(data){
io.emit('currentColor',data);
});
});
そして、これは、htmlページではjavascriptの一部です:
var socket = io();
let div = document.querySelector('#colorMe');
socket.on('currentColor',(currentColor)=>{
div.style.background = currentColor;
});
function changeColor(){
let color = (div.style.background == 'blue')? 'white' : 'blue';
socket.emit('changeColor', color);
}
div.addEventListener('click', changeColor);
'changeColor'関数にブレークポイントを設定して、' currentColor'ハンドラ内の 'color'値と別のブレークポイントの値を見て、' currentColor'の値が何であるかを確認してください。 –
@WillReese私はいつも青いことをしました –
'div.style.background'の値は何ですか? –