在我网站上的所有链接上添加 onclick 事件

Adding onclick event on all links on my website

我需要应用这条线:

target="_blank" onclick="exoMobilePop();"

到我的 Drupal 7 网站上的所有链接。
有人可以帮我解决这个问题吗?

试试 <base> tagtarget 属性指定页面中所有超链接和表单的默认目标。将标签放在 <head> 部分。

Note: This attribute can be overridden by using the target attribute for each hyperlink/form (if needed).

<head>
...
<base target="_blank">
...
</head>

使用JavaScript(或jQuery)处理和重新路由click事件。 JSFiddle

JavaScript

document.addEventListener("click", function (e) {
    // e.preventDefault(); // Prevent a link from following the URL
    exoMobilePop(); 
});

jQuery

$("body").on("click", "a", function (e) {
    // e.preventDefault(); // Prevent a link from following the URL
    exoMobilePop();
});

如果您确实需要在 link 上而不是在整个文档上使用此功能,您可以使用此解决方案。

  ...
  <script>
    (function() {
      var linksOnPage = document.querySelectorAll("a");
      var link = "";
      for (var i = 0; i < linksOnPage.length; i++) {
        link = linksOnPage[i];
        link.setAttribute("target", "_blank");
        link.addEventListener("click", function(e){
          exoMobilePop();  
        });
      }
    })();
  </script>
  </body>
  </html>

但是要小心。这将解决您页面上的每个 link。包括管理 link、菜单项等。如果不需要,您可以将 "a" 替换为更具体的选择器。