我如何使对话框聊天日志滚动到底部不断刷新而不改变鼠标焦点

how do I make shoutbox chat-log scroll to bottom with constant refreshing without changing mouse focus?

本文关键字:刷新 改变 焦点 鼠标 底部 何使 对话框 聊天 滚动 日志      更新时间:2023-09-26

我正在编写一个小的大喊框/聊天应用程序,我使用以下代码每0.5秒刷新消息日志div并刷新到底部以显示最新消息。

$(setInterval(function() {
    $('.messageLog').load('display_messages.php');
    window.location='#bottom';
}, 500));

'#bottom'指的是我放在'结尾的空div。messageLog'div,这样我就有一个位置可以引用作为消息日志的底部。这种方法的问题是,当我试图登录时(通过简单地输入用户名并按下登录按钮,通过聊天框顶部的一个小表单),用户名输入字段不断刷新,并在firefox和internet explorer中每0.5秒失去焦点(在chrome中工作良好)。问题出在"窗口"这一行。Location ='#bottom'",这会导致输入字段聚焦问题。

我想知道是否有一种方法,这样我仍然可以每0.5秒刷新一次消息日志,并自动滚动到底部,而不干扰用户试图通过用户名字段登录。

删除锚点,用这个代替

$(".messageLog").attr({ scrollTop: $(".messageLog").attr("scrollHeight") });