[英]Detect a button inside of an iframe being clicked
我正在尝试检测 iframe 内部的按钮点击。 我目前已经研究了如何在我单击 iframe 内部时让它提醒我,但现在需要将其扩展到 iframe 内部的按钮。 如果我需要完全重新创建代码以使其更高效,我可以接受。
var monitor = setInterval(function(){
var elem = document.activeElement;
if(elem && elem.tagName == 'IFRAME'){
alert('Clicked');
clearInterval(monitor);
}
}, 100);
我不确定你为什么使用 setInterval。 以一种奇怪的方式,您模拟了 javascript 事件侦听器,每 100 毫秒您检查当前活动的元素是否是 IFRAME。 单击它后,它将显示警报,但如果您关注另一个元素然后返回 IFRAME,它将不会再次显示警报。
解决此问题的方法是使用事件侦听器。 像这样:
注意:在 iframe 中添加一个名为“myFrame”的 ID。
const element = document.getElementsById('myFrame');
element.addEventListener("click", myFunction);
function myFunction() {
alert('Clicked');
}
您也应该对按钮使用完全相同的方法,只有您会在getElementById
中获得按钮。
setInterval 的目的是每 x 毫秒运行一次特定代码。 JS 足够复杂,可以为您提供所有 API 来处理您将需要的一切。 通常,您只会将 setInterval 用于您可能实现的奇特算法,但通常,对于构建普通网站,您很少需要它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.