需要帮助了解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()
。