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

时间:2015-03-25 17:52:52

标签: html drupal onclick

我需要申请这一行:

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

到Drupal 7网站上的所有链接。
有人可以帮我吗?

2 个答案:

答案 0 :(得分:0)

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

  

注意:可以使用每个超链接/表单的target属性(如果需要)覆盖此属性。

<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();
});

答案 1 :(得分:0)

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

  ...
  <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>

但要小心。这将完全解决您网页上的每个链接。包括管理链接,菜单项等。如果不需要,可以用更具体的选择器替换“a”。