问题是,我正在做一个类似聊天的程序,它需要知道用户是否离开了窗口,或者切换到了另一个窗口或选项卡,以便让其他用户看到其他用户现在没有看到页面。
我以为window event focusout可以解决我的问题,然而,它有一些问题。
首先:
它不会仅在用户离开窗口时触发,如果用户将焦点放在输入字段上,然后单击页面中的其他位置,则会触发该事件。显然,这是无法容忍的。
在Firefox中,我设法绕过了这个问题。在火狐上,当这种情况发生时,浏览器会触发一次focusout事件。但是,如果你真的离开了窗口,它会触发两次。所以,一个小小的编程创造了魔力。
然后出现了第二个问题:
Chrome,我相信其他浏览器的行为可能也是一样的,无论你做什么,只触发一次focusout事件。离开窗口,将焦点从输入切换到页面,这是相同的,所以,我的编程在那里不起作用。
有没有人知道模拟所需行为的方法?或者一种让Chrome和其他可能的浏览器表现得像Firefox或其他什么的方法?
发布于 2011-02-28 22:52:55
这能回答这个问题吗?谈论使用模糊事件
发布于 2012-04-13 16:58:01
我回答了这个问题,这个解决方案工作得很好,除了我捕获了两次事件。
仅当我单击另一个浏览器选项卡或切换到另一个应用程序时,才会触发window上的模糊事件。
https://stackoverflow.com/questions/5143464
复制相似问题