超链接点击不点火(Hyperlink click is not firing)

2019-10-22 04:40发布

我想赶上点击使用JavaScript超链接。 我用这个代码:

for (var i = 0; i < document.links.length; i++) { 
    document.links[i].onclick = function() { 
           doSomething();       
        } 
    }

在正常的超级链接<a href="index.html">Home</a>一切正常,但在链接pdf文件

<a href="tmp.pdf">tmp.pdf</a>

动作doSomething(); 不叫。 我的页面被重定向到tmp.pdf兵不血刃click事件。 我没有一个知道为什么。

你能告诉我是什么问题。 我想避免的jQuery。

Answer 1:

你可以删除href属性并执行重定向到捕捉功能的文件。 做一些逻辑,然后将用户重定向到新的网页/文件。

<a id="pdf" href="">tmp.pdf</a>

for (var i = 0; i < document.links.length; i++) { 
    document.links[i].onclick = function() { 
           doSomething();  
           if(link[s].id == "pdf"){
               window.location="tmp.pdf";
           }
        } 
    }


Answer 2:

我认为你需要确保,你的JavaScript页面加载后执行。 它可能为你工作

$( document ).ready(function() {
 for (var i = 0; i < document.links.length; i++) {
  document.links[i].onclick = function() {
         alert('testing')
      }
  }
});

仅供参考,我使用jQuery ready事件,以确保脚本页面加载后执行。



Answer 3:

所以,我发现它...某处JavaScript文件,我发现这个代码,导致我的问题

  if ( (String($(this).prop('href')).indexOf('.pdf') != -1)) {
    evt.stopPropagation();
    evt.cancelBubble = true;

谢谢



文章来源: Hyperlink click is not firing