需要帮助了解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()
。
- 如何实现jQuery直接上传到node.js上的Cloudinary
- MeteorJS – click.incrementfunction不工作(你的第一个meteor应用程序)
- Rxjs如何知道有多less可观察的用户?
- 当用作Node.js的JS引擎时,微软的ChakraCore是否比Google的V8提供任何性能优势
- 是否有可能parsing这个在node.js中的JSON?
- 使用Webpack通过DefinePlugin传递NODE_ENV值
- JavaScript(NodeJS)等价于PHP的call_user_func_array()
- 在NodeJS中将一系列图像编码到MediaStream中
- nodejs – 证书链中的错误自签名证书