Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 套接字io鼠标单击事件_Node.js_Socket.io - Fatal编程技术网

Node.js 套接字io鼠标单击事件

Node.js 套接字io鼠标单击事件,node.js,socket.io,Node.js,Socket.io,是否有人知道如何监听鼠标事件(如单击或悬停),以便当我单击或悬停任何元素时,在第二个浏览器中也会发生相同的情况?抱歉没有包含代码 <script> // creating a new websocket var socket = io.connect('http://localhost:8000'); // on message recived we print the new data inside the #container div socke

是否有人知道如何监听鼠标事件(如单击或悬停),以便当我单击或悬停任何元素时,在第二个浏览器中也会发生相同的情况?抱歉没有包含代码

<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>

//创建新的websocket
var socket=io.connect('http://localhost:8000');
//收到消息后,我们在#container div中打印新数据
socket.on('notification',函数(数据){
$(“p”)。单击(函数(){
警惕(“你好”);
//或者改变颜色
$(this.css({“color”:“red”});
});
var usersList=“”;
$.each(data.users,函数(index,user){
usersList+=“”+user.users+”

”; }); 用户列表+=“”; $('#container').html(usersList); }); 点击我


客户端:

在客户端,您应该首先为需要的每种类型的事件定义一个事件侦听器(使用jQuery)。在该侦听器中,只需发出一个socket.io事件,该事件包含触发该事件的元素的ID,这样服务器就可以向所有其他客户端广播该事件

此外,若从服务器接收到事件,则应通过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);
    });
});

可以模拟该活动。您实际上无法移动鼠标光标。您编写的代码中有什么不起作用?我不需要看到鼠标光标移动。只要单击按钮,我就需要在两种浏览器中都获得消息:(请参见上面的代码)。这不起作用。我在浏览器中得到的只是“Welcome to socket.io”。我甚至没有看到按钮。index.hmtl中没有任何内容:(请上传您的服务器端和客户端完整代码,以便我能帮助您。它现在工作得很好,我已经修复了它!谢谢您的帮助。但是我有一些问题:1.您是否可以在没有node.js的情况下运行socket.io?2.如何在不在jquery中指定ID或类的情况下镜像单击、鼠标移动、使用soket.io的任何交互?基本上镜像ev当用户与网站互动时,会发生什么?非常感谢