禁用Internet Explorer中的HTML锚点

7
我在我的应用程序中遇到了一个问题,我想使用CSS禁用HTML锚点。我已经在Disable link using css上看到了一个解决方案,它在Chrome和Firefox中运行良好,但是当我在Internet Explorer中打开我的页面时,它无法禁用链接。我查阅了很多链接,但没有找到任何Internet Explorer的解决方案。如果您有任何有用的链接或答案,请帮助我。谢谢提前。 http://jsfiddle.net/7EQJp/
<a href="link.html" class="active">Link</a>

.active {
       pointer-events: none;
       cursor: default;
} 
4个回答

7

您可以使用pointer-events CSS属性来禁用链接,但是它在IE上存在已知问题。从IE 11开始,此属性得到了支持。有一个小技巧。您应该为链接添加disabled类,并将disabled属性添加到链接中,然后添加下面给出的CSS。此外,您需要为禁用的锚点属性提供pointer-events none。完成这两个步骤后,这应该可以在大多数浏览器中正常工作。

a.disabled {
    pointer-events: none;
}

a[disabled] {
    pointer-events: none;
}

请查看这个代码片段


是的,这个技巧在ie中运行良好。感谢@Rahul的答案。 - Praveen Rawat

2

指针事件最初只是Mozilla的功能。它已经被-webkit-采用,但不幸的是没有在IE中采用。现在他们有了Edge。我想这永远不会成为事实。

从MDN文档中得知:

警告:在CSS中使用pointer-events对于非SVG元素是实验性的。该功能曾经是CSS3 UI草案规范的一部分,但由于许多未解决的问题,已推迟到CSS4。


那就是说,如果没有使用JavaScript,我们无法在IE中禁用链接。@Jay - Praveen Rawat

2

CSS禁用链接的方法:

a[disabled]{
pointer-events: none;}

今日免费次数已满, 请开通会员/明日再来
$("td > a").attr("disabled", "disabled");

2

我也遇到了这种问题。但是我在我的代码中使用了这个解决方案,它能正常工作。

.disableButton {
    background: #e6eeee none repeat scroll 0 0;
    border: 2px solid #cdcdcd;
    border-radius: 20px/40px;
    color: #dcd7dc;
    cursor: pointer;
    font-family: arial;
    font-size: 11px;
    font-weight: bold;
    image-rendering: inherit;
    padding: 5px 30px;
    pointer-events: none;
    text-decoration: none;
    display : inline-block;
   }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接