javascript - 将点击事件附加到 div 内的某些链接

标签 javascript html

最佳答案

使用Element.matches()仅处理您想要的 a 标签:

var navFly = document.querySelector('#navfly');

navFly.addEventListener('click', function(e) {
  // if it's not an a tag, that doesn't start with http do nothing
  if (!e.target.matches('a:not([href^="http"])')) {
    return;
  }
  e.preventDefault();

  var newpg = e.target.getAttribute('href');
  
  console.log(newpg);
  // take href value, modify url for content location
  // fetch content with ajax GET
  // insert within content div
});
<div id="navfly">
  <a href="content-one.htm">Content 1</a><br>
  <a href="content-two.htm">Content 2</a><br>
  <a href="content-three.htm">Content 3</a><br>
  <a href="content-four.htm">Content 4</a><br>
  <a href="https://some.otherdomain.com">External wepage</a><br>
</div>

关于javascript - 将点击事件附加到 div 内的某些链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48440214/

相关文章:

javascript - 在 javascript 模板文字中使用条件

javascript - 如何让其他网站可以访问我的 iframe 的 javascript?

JavaScript 选择器

javascript - 使用 Twitter-Bootstrap 保存到 LocalStorage

javascript - 将复选框包裹在 div 内会破坏 javascript

javascript - Angular 嵌套 ng-repeat。比较两个列表。显示是否找到/未找到

javascript - 每当我以 meteor Angular 刷新页面时, `Meteor.user()` 方法将返回未定义

javascript - 设置通知系统的最佳方法?

html - 为什么标题这么宽

html5 显示通知