2009-07-08 97 views
4

我一直在使用php,mysql处理AJAX聊天应用程序。现在几乎完成了;我面临的唯一问题是用户键入他的消息发布回复的文本框在异步ajax调用期间不断失去焦点。在使用jQuery进行异步ajax调用期间,文本框失去焦点

这里发生的事情是,我有两个div正在被不断地与两个不同的AJAX调用更新。一个用于在线用户,另一个用于消息列表。它的工作完美。为了给用户一个实时的视图,我必须非常频繁地触发ajax调用,比如每隔2秒或者接近这个的时间。阿贾克斯功能正在完美运作;只有在ajax调用正在进行并且用户正在输入消息时才会失去焦点,用户必须单击浏览器中的其他位置并返回到文本框再次输入。

任何形式的帮助表示赞赏。最好的祝福。

回答

1

你能给你是如何发起的呼叫和处理他们的回报更多的细节?它绝对不应该这样做。

给你举个例子,几乎每一个自动完成执行不完全一样的东西,但不会失去焦点。你输入一个输入框,输入框下方的div会不断更新,通过ajax调用自动完成选项/建议,而不会丢失输入框的焦点。

0

一个懒惰的解决办法的一种,如果它甚至工作,但你把textbox.focus()的调用Ajax将焦点返回到文本框?

0

使用异步Ajax调用不应该与你的形式焦点干扰更新DOM元素。你可以发布你的一些代码吗?我认为,如果没有代码,我们无法帮助您。

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