需要帮助了解Socket.io(node.js)中的以下jQuery代码吗?

html文件

<script> var socket = io(); $('form').submit(function(){ socket.emit('chat message', $('#m').val()); $('#m').val(''); return false; }); socket.on('chat message', function(msg){ $('#messages').append($('<li>').text(msg)); }); </script> 

 io.on( "connection", function(socket) { console.log( "A user connected" ); socket.on('disconnect', function(){ console.log('user disconnected'); }); socket.on('chat message', function(msg){ console.log('message: ' + msg); }); socket.on('chat message', function(msg){ io.emit('chat message', msg); }); }); 

我不明白jQuery语法中的这部分代码:

 $('#m').val(''); return false; 

由于我已经通过socket.emit('chat message', $('#m').val());发送了我的套接字input值socket.emit('chat message', $('#m').val()); 为什么input字段“m”(这只是我的表单中的input字段)需要设置为空string? 然后返回false部分? 代码运行良好,它来自socket.io/chat

请解释一下jQuery的一面。

一行一行:

 socket.emit('chat message', $('#m').val()); 

该行以#m字段中指定的值发送聊天消息。

 $('#m').val(''); 

消息发送后,此行清除#m字段中的值。

 return false; 

返回false将停止默认的事件行为,在这种情况下停止提交form元素。 如果您愿意,也可以在传入的event使用preventDefault()