2017-06-06 6 views
0

chatroomクラスの要素をクリックすると、socketioがフラスコに接続します。ここ は、サーバー側である:ここでクリックイベントでsocket-ioを起動するにはどうすればよいですか?

@socketio.on('joined') 
def handle_connections(data): 
    username = session['Username'] 
    socketio.emit('status', {'msg': username + ' has entered the room.' }); 

はjqueryのセレクタ、チャットルームの作品がなければjavascriptの

var socket = io.connect('http://' + document.domain + ':' + location.port); 
$(document).ready(function(){ 
    $('.chatRoom').click(function(event){ 
      event.preventDefault(); 

      socket.on('connect', function() { 
       socket.emit('joined', {}); 
      }); 
    }); 

    socket.on('status', function(data){ 
      console.log("user connected"); 
    }); 
}); 

です。セレクタをどのように動作させることができますか?

+0

リスナーが作成される前にソケットが「接続」イベントを発行している可能性はありますか? jqueryイベントの中でvarソケットの宣言を移動してみてください。 –

+0

残念ながら運がありません。 – Questionator

答えて

0

接続のためのajax呼び出し要求を送信して、ソケットでそれを処理できます。 以下のコードスニペットは、他の方法であなたを助けることができると考えています。

`$(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'); 
} 
関連する問題