javascript - 如何检查链接的目标是否为 iframe

标签 javascript

请看下面的例子:

document.addEventListener('click', function(e){
  if(e.target.tagName == 'A'){
    e.preventDefault();
    if(true){
      console.log('Target is an iframe');
    } else {
      console.log('Target is not an iframe');
    }
  }
});
<a href="about:blank">1</a>
<a href="about:blank" target="iframe">2</a>
<a href="about:blank" target="not_iframe">3</a>
<iframe name="iframe" src="about:blank" style="display: none;"></iframe>

我把 if(true) 作为占位符放在那里。我如何实际检查所点击链接的目标是 iframe 还是不是?

谢谢!

最佳答案

您可以检查是否存在具有该名称的 iframe

document.addEventListener('click', function(e){
  if(e.target.tagName == 'A'){
    var target = e.target.target;
    var iFrameExist = document.querySelector(`iframe[name="${target}"]`);
    if(iFrameExist){
      console.log('Target is an iframe');
    } else {
      console.log('Target is not an iframe');
    }
    return false;
  }
});
<a href="about:blank">1</a>
<a href="about:blank" target="iframe">2</a>
<a href="about:blank" target="not_iframe">3</a>
<iframe name="iframe" src="about:blank" style="display: none;"></iframe>

关于javascript - 如何检查链接的目标是否为 iframe,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53917785/

相关文章:

javascript - 如果浏览器选项卡处于事件状态或不活动状态,如何更改 Shopify 标题

javascript - 在输入类型 ="number"中禁用直接值编辑

javascript - 如果类(class)也是类(class),那么..单击时移动事件类(class)

javascript - 部分更新 mongo 对象

javascript - 在 iframe 中提交表单时滚动到 iframe 顶部

javascript - 如何通过 ajax 刷新由 JSF 填充的 javascript 变量?

javascript - 使用 jQuery 生成干净的 HTML 标记(如 JSX)

javascript - 如何在 AngularUI 路由器中的 $stateNotFound 事件上重试路由请求

javascript - 无法访问 node js 中 express.session 的登录值

javascript - 带动画的 JQuery 重定向