javascript - 了解用户何时点击任何 iframe 的更简单方法?

标签 javascript events iframe

当用户点击外部 iframe 时,我的 BODY 标签上的所有事件监听器都停止工作,我需要提示用户点击外部以重新获得 body 标签上的“焦点”。

但实际上很难知道用户何时点击了 iframe。

我知道有两种方法可以知道何时点击了 iframe:

1- 在 iframe 上重叠一个透明的 div(缺点是用户必须点击两次才能真正点击 iframe)。

2- 一个非常粗略的解决方法,它让输入始终自动对焦并检测它何时失去焦点。但即使考虑实现它也是愚蠢的。

是否有另一种方法可以知道用户何时通过单击外部 iframe“失去对主体的关注”?

最佳答案

这非常简单,但不一定有效/合乎道德。

setTimeout(function(){
  document.body.focus() 
}, 100 );

老实说,我会使用选项 #2 和一些 jQuery。

$(el).focusout(function(){
  $(this).focus();
})

关于javascript - 了解用户何时点击任何 iframe 的更简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7170255/

相关文章:

javascript - 滚动到 iframe 中的特定 ID,同时保留父页面位置

javascript - 使用 Angular.js 选中复选框时如何设置输入字段值

javascript - 在对象中使用 Polymer push 方法

javascript - 在 fabric js 中删除突出显示的蓝色矩形以供选择

javascript - JQuery 将值传递给接受事件对象参数的函数

c# - .NET 自定义事件组织帮助

javascript - 问题: Javascript iframe send the postMessage() before iframe completed loading

php - 如何设置:hover on a li(A) when hover an other li(B)

javascript - 如何在上下文菜单中触发全局功能

javascript - 如何使用 X-Frame-Options SAMEORIGIN 对来自同一域的页面进行 iframe?