【发布时间】:2013-04-08 21:28:50
【问题描述】:
我想检测用户何时离开我的页面(例如打开一个新标签),以便我可以停止倒计时。我是这样做的:
$(window).blur(function() {
//stop countdown
});
但是我的页面中有一个 iframe,当用户点击它时倒计时也会停止,但我不希望当有人点击 iframe 时执行上述事件。
有什么想法吗?
更新,我正在尝试更多,基于这个答案Click-event on iframe?:
iframeDoc = $('iframe').contents().get(0);
$(iframeDoc).click(function(){
//maybe remove blur event?
});
更新: Tim B 解决方案有效:
$(window).blur(function () {
// check focus
if ($('iframe').is(':focus')) {
// dont stop countdown
}
else {
// stop countdown
}
});
现在我必须在每次调用模糊事件时从 iframe 中移除焦点,否则如果用户在聚焦 iframe 后更改选项卡,倒计时将不会停止。我使用上述条件尝试过这样的:
if ($('iframe').is(':focus')) {
// dont stop countdown
$("iframe").blur()
$(window).focus();
}
但它没有工作。任何想法?
【问题讨论】:
-
你的 iframe 中有什么?
-
外部网站 dom.
-
我解决了一个与您的问题非常相似的问题,请参阅stackoverflow.com/questions/9880193/…我的答案
标签: javascript jquery dom iframe