解决工作问题js 拦截 a 标签跳转

Posted 一百个Chocolate

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决工作问题js 拦截 a 标签跳转相关的知识,希望对你有一定的参考价值。

背景

最近遇到文档内 a 标签点击不了的问题,可能是其它同事混入的代码影响了?

语法用的 Markdown,然后渲染的 html 用的相对链接,如果后面不带路由 # 参数,点击可以使用,但是带 # 参数的点击没有效果,百思不得其解,干脆重写吧…

由于是链接加入不好更改,于是想着重新写一下 a 标签跳转,如下:

document.body.addEventListener('click', function (event) 
    var target = event.target || event.srcElement;
    if (target.nodeName.toLocaleLowerCase() === 'a') 
        if (event.preventDefault) 
            event.preventDefault();
         else 
            window.event.returnValue = true;
        
        var url = target.getAttribute("href")
        if (target.getAttribute("target") === '_blank') 
            window.open(url)
         else 
            window.location.href = url
        
    
);

以上是关于解决工作问题js 拦截 a 标签跳转的主要内容,如果未能解决你的问题,请参考以下文章

解决工作问题js 拦截 a 标签跳转

JS window.open()拦截问题解决方案

浏览器拦截js打开新窗口

js实现避免浏览器拦截弹出新页面的方法

js实现window.open不被拦截的解决方法汇总

js实现window.open不被拦截的解决方法汇总