0

私はapp.jsにこのコードを持っています

var app = require('http').createServer(handler),
io = require('socket.io').listen(app),
static = require('node-static');
var fileServer = new static.Server('./');
app.listen(8080);
function handler (request, response) {
    request.addListener('end', function () {
        fileServer.serve(request, response);
    });
}
io.set('log level', 1);
io.sockets.on('connection', function (socket) {
     socket.on('click', function () {
            socket.broadcast.emit('moving');
        });

});

Index.html

<script>
    var url = window.location.hostname;
    var socket = io.connect(url);
     socket.on('moving', function () {
        $("body").append('<div class="text">tex</div>');
     });
</script>

簡単なテキスト(div)を書きたいのですが、うまくいきません。どこで問題が発生する可能性がありますか?

4

1 に答える 1

1

デフォルトでは、socket.io はclickイベントの監視に役立ちません。クライアント側のコードを次のように編集します。

<script>
    var url = window.location.hostname;
    var socket = io.connect(url);
    socket.on('moving', function () {
        $("body").append('<div class="text">tex</div>');
    });
    // manually emit the event, or bind `click` inside dom
    // and call socket.emit('click') inside onClick()
    socket.emit('click');
</script>
于 2013-03-05T17:53:30.833 に答える