【发布时间】:2015-02-07 20:01:30
【问题描述】:
我正在尝试http://socket.io/get-started/chat/ 上的 socket.io 教程,但我的问题是当我发送消息时页面会重新加载而不是持久化。
唯一的区别是我使用纯 DOM 而不是在教程中使用 jquery。这是原始代码:
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<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>
这是我的:
<script src="https://cdn.socket.io/socket.io-1.2.0.js"></script>
<script>
var socket = io();
document.querySelector('form')
.addEventListener('submit', function () {
socket.emit('chat message',
document.querySelector('#m').value);
document.querySelector('#m').value = '';
return false;
});
socket.on('chat message', function (msg) {
var li = document.createElement('li');
document.querySelector('#messages').appendChild(li);
li.innerText = msg;
});
</script>
如果我用 jquery 替换我的,它就像一个魅力。 谁能看出问题出在哪里?
【问题讨论】:
-
原来是jQuery版本不行?
-
不,jquery 工作正常,javascript 不工作
-
“如果我用我的 jquery 替换它,它就像一个魅力”
标签: javascript jquery dom socket.io