我想用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事件。我不知道为什么。
答案 0 :(得分:0)
您可以删除href属性并在catch函数中重定向到该文件。做一些逻辑,然后将用户重定向到新的页面/文件。
<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";
}
}
}
答案 1 :(得分:0)
我认为你需要确保,你在页面加载后执行javascript。它可能适合你
$( document ).ready(function() {
for (var i = 0; i < document.links.length; i++) {
document.links[i].onclick = function() {
alert('testing')
}
}
});
仅供参考,我使用jQuery ready事件确保脚本在页面加载后执行。
答案 2 :(得分:0)
所以,我发现它...在javascript文件的某个地方,我发现这个代码导致了我的问题
if ( (String($(this).prop('href')).indexOf('.pdf') != -1)) {
evt.stopPropagation();
evt.cancelBubble = true;
感谢