我使用node和Socket IO在一个浏览器中设置点击事件,并在另一个浏览器中触发动画。我很难让这个工作。例如,单击一个浏览器中的按钮将隐藏另一个浏览器中的框。我到目前为止的代码是:
客户方:
function hideBox(data) {
$('.box').hide();
};
$('.btn').on('click', function(event) {
socket.emit('hideBtn', {id: event.target});
});
socket.on('hideBtn', function(data) {
$(data.id).hideBox;
});
服务器端
socket.on('hideBtn', function(data) {
socket.broadcast.emit('hideBtn', data);
});
非常感谢任何帮助。感谢。
答案 0 :(得分:0)
socket.on('hideBtn', function(data) {
$(data.id).hideBox;
});
hideBox是一个函数吗?也许是因为“()”被遗忘: - )
答案 1 :(得分:0)
好的,所以经过多次来回,答案导致实际上只需要简化代码。无需指定event.target等,只需发出并监听事件即可。
客户端代码index.html:
$('.btn').on('click', function() {
socket.emit('hideBoxRequest');
});
服务器端代码:
socket.on('hideBoxRequest', function () {
socket.broadcast.emit('hideBox');
});
最终代码客户端,对于我的其他html文件:
socket.on('hideBox', function () {
$('.testBox').fadeOut();
});
所以基本上点击index.html中的顺便说一下发出' hideBoxRequest'到服务器。然后服务器选择它并发送出“hideBox”'连接到服务器的所有客户端。