javascript - 为什么这个javascript只替换一次html元素?
问题描述
我正在学习 SignalR,目前正在向所有客户发送定期广播消息。我的广播代码有效,但与我预期的不同。其 appmessage
目的是在传输后在所有客户端上简单地显示广播消息。该appclock
功能旨在在请求该功能时更新显示的时钟数据。我期待看到我得到的附加列表,以及一个定期更改的clock_data,我只得到一次。
这是我的 javascript 文件:
$(function () {
var hub = $.connection.broadcastHub;
hub.client.appmessage = function (message) {
$('#statusmessages').append($('<li/>').html(message));
};
hub.client.appclock = function (message) {
$('#clock_data').replaceWith(message);
};
$.connection.hub.start();
});
以及页面的 HTML:
<p id="clock_data">not set</p>
<p>Manually broadcast messages:</p>
<ul id="statusmessages"></ul>
@Section Scripts
<script src="/Scripts/jquery-3.3.1.min.js"></script>
<script src="/Scripts/jquery.signalR-2.2.2.js"></script>
<script src="/signalr/hubs"></script>
<script src="/Scripts/Statuses.js"></script>
End Section
客户端 javascriptappmessage
函数始终将每条新消息附加到列表中。
客户端 javascriptappclock
函数<p>
第一次更改元素数据,但此后除非刷新页面,否则不会更改元素。当页面刷新时,它会更改一次元素,然后再次停止更新。
我认为这与我调用集线器连接的方式有关,但我不明白为什么集线器在第一次之后不会继续更新 clock_data 元素。
解决方案
推荐阅读
- python - 检查字符串在Python中是否为某种格式
- ansible - Ansible 没有在清单/主机文件中进行更改
- python - 使用 Quine-McCluskey 算法后如何使用 XOR 进行简化?
- selenium - 如何为 img src 编写动态 xpath
- asp.net-mvc-4 - Host\Servername$ 登录失败
- google-earth-engine - 在谷歌地球引擎的 imageCollection 中对 2 个连续图像应用函数
- java - 将信息从 AlertDialog 传递给父片段
- flutter - 扑。listview.builder 上方的小部件与其他内容一起滚动?
- mysql - 查询以显示本年度的新销售增长
- c# - 报表查看器数据集