使整个网页链接无法点击的最佳方法是什么

时间:2012-10-05 10:47:18

标签: javascript css hyperlink readonly

  

可能重复:
  Override default behaviour for link ('a') objects in Javascript

将主页中的整个页面链接设为只读的最佳方法是什么(根据用户操作,不可点击,如href=#href="javascript:void()"

我只想使用Javascript和CSS来实现这一目标。

7 个答案:

答案 0 :(得分:9)

只有css

a {
    pointer-events: none;
    cursor: default;
}

答案 1 :(得分:5)

尝试

使用jquery

$("a").click(function() { return false; });

vanilla js

        var elements = document.getElementsByTagName("a");
        for (var i = 0; i < elements.length; i++) {
            elements[i].onclick = function () { return false; }
        }

答案 2 :(得分:2)

这样的事情应该有效

var anchors = document.getElementsByTagName('a');

for(var i=0,len=anchors.length;i<len;i++){
   anchors[i].href = '#';
}

答案 3 :(得分:2)

这是CMS使用事件委派技术的精彩解决方案。

document.onclick = function (e) {
  e = e ||  window.event;
  var element = e.target || e.srcElement;

  if (element.tagName == 'A') {
    someFunction(element.href);
    return false; // prevent default action and stop event propagation
  }
};

Demo

答案 4 :(得分:0)

开始于:

links = document.getElementsByTagName('a')

然后:

for (var i=0; i<links.length; ++i) {
    // disable a link, for instance like this
    links[i].href = "javascript:void()"
}

答案 5 :(得分:0)

<强>的jQuery

$("a").on("click",function(e) { e.preventDefault();   
   // anything you want to do on click
});

答案 6 :(得分:0)

如何使用replaceChild - 它可以在所有浏览器中使用,因为NS6 / IE6 / Chrome1 / FX1左右

DEMO

普通JS:

window.onload=function() {
  var anchors = document.getElementsByTagName('a');

  for(var i=anchors.length-1;i>=0;i--){
    var span = document.createElement("span");
    span.innerHTML=anchors[i].innerHTML;
    anchors[i].parentNode.replaceChild(span,anchors[i])
    span=null;
  }
}

或者我在页面评论中的第一个建议:

window.onload=function() {
  var anchors = document.getElementsByTagName('a');
  for(var i=anchors.length-1;i>=0;i--){
    anchors[i].onclick=function() { return false }
  }
}