使用jQuery进行异步ajax调用时,文本框失去焦点

4
我一直在使用php,mysql开发一个AJAX聊天应用程序。现在几乎完成了,唯一的问题是当异步ajax调用期间,用户输入消息并回复时,文本框会不断失去焦点。
这里正在发生的事情是我有两个div,它们正在通过两个不同的AJAX调用不断更新。一个是在线用户,另一个是消息列表。它完美地工作着。为了给用户提供实时视图,我必须非常频繁地触发ajax调用,如每2秒或接近该时间。ajax函数完美地工作着,只有在ajax调用进行中且用户正在输入消息时才会失去焦点,用户必须单击浏览器中的其他位置,然后返回到文本框中再次输入。
感谢任何形式的帮助。最好的问候。
3个回答

1

您能详细说明一下您如何启动调用并处理它们的返回吗?这绝对不应该发生。

举个例子,实际上每个自动完成实现都做了完全相同的事情,但并不会失去焦点。您在输入框中键入内容时,通过ajax调用,下面的一个div将不断更新自动完成选项/建议,而无需失去输入框的焦点。


0
有点懒人的解决办法,如果管用的话,你能在 Ajax 调用中加入一个 textbox.focus(),让焦点回到文本框里吗?

0

使用异步 AJAX 调用更新 DOM 元素不应该影响您的表单焦点。您能否发布一些代码?我认为如果没有代码,我们无法提供太多帮助。

此外,您描述的症状也可能来自浏览器冻结。在 AJAX 调用期间和之后的处理有多重?


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接