【发布时间】:2019-11-30 15:22:49
【问题描述】:
我正在尝试开发一个允许用户创建新聊天室的聊天应用程序。
我已经为列表中的每个项目运行了代码,单击时会将用户添加到新的 房间
Javascript:
document.querySelectorAll('.select-room').forEach(li => {
li.onclick = () => {
let newroom = li.innerHTML;
if (newroom == room){
msg = `You are already in ${room} room.`
printSysMsg(msg);
} else {
leaveRoom(room);
joinRoom(newroom);
room = newroom;
}
}
});
HTML:
<nav id='sidebar'>
<h4>ROOMS</h4>
<ul id='room_list' >
{% for room in rooms %}
<li class = 'select-room'>{{ room }}</li>
{% endfor %}
</ul>
</nav>
但是,当我添加新房间时,我无法立即单击列表项来更改聊天室,我必须刷新页面。
任何帮助将不胜感激
【问题讨论】:
-
您可以从下面的帖子中找到解决方案; stackoverflow.com/questions/16598213/…
-
@UgurVolkan 我不认为您的链接会有所帮助,因为那里的解决方案是用 jQuery 而不是香草 JS 编写的。 jQuery 具有完全不同的语法,并使用事件委托来解决此类问题。
标签: javascript html socket.io