有谁知道如何监听诸如 CLICK 或 HOVER 之类的鼠标事件,以便当我单击或悬停任何元素时,它会在第二个浏览器中发生相同的情况?抱歉没有包含代码。
<script>
// creating a new websocket
var socket = io.connect('http://localhost:8000');
// on message recived we print the new data inside the #container div
socket.on('notification', function (data) {
$("p").click(function () {
alert("Hello");
//or change the color
$(this).css({"color": "red"});
});
var usersList = "<div id='aaa'>";
$.each(data.users, function (index, user) {
usersList += "<p>" + user.users + "</p>";
});
usersList += "</div>";
$('#container').html(usersList);
});
</script>
<p>Click me!</p>
最佳答案
客户端:
在客户端,您应该首先为您需要的每种类型的事件定义一个事件监听器(使用 jQuery)。在该监听器中,只需发出一个包含触发事件的元素 ID 的 socket.io 事件,以便服务器可以将其广播给所有其他客户端。
此外,如果从服务器接收到事件,您应该通过 jQuery 在其对应的元素上模拟该事件。
$(document).on('click', function(event){
socket.emit('myClick', {id: event.target});
}
var socket = io.connect('http://localhost');
socket.on('myClick', function (data) {
$(data.id).trigger('click');
}
服务器端:
在服务器端,只向除发送者之外的所有其他客户端发出任何触发的事件。
var io = require('socket.io').listen(80);
io.sockets.on('connection', function (socket) {
socket.on('myClick', function (data) {
socket.broadcast.emit('myClick', data);
});
});
关于node.js - socket io鼠标点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19499597/