可能重复:
Override default behaviour for link ('a') objects in Javascript
将主页中的整个页面链接设为只读的最佳方法是什么(根据用户操作,不可点击,如href=#
或href="javascript:void()"
。
我只想使用Javascript和CSS来实现这一目标。
答案 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
}
};
答案 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左右
普通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 }
}
}