我想禁用页面中的链接。
我使用了以下功能,该功能在FF3& IE7,但它不适用于IE6。
$(document).ready(function() {
$("a").attr("href", "")
.unbind("click")
.click(function() { return false });
});
答案 0 :(得分:3)
这个怎么样?
$(document).ready(function() {
$("a").removeAttr('href');
});
答案 1 :(得分:0)
试
window.onload= function(){
DisableEnableLinks(true)
}
function DisableEnableLinks(xHow){
objLinks = document.links;
for(i=0;i<objLinks.length;i++){
objLinks[i].disabled = xHow;
//link with onclick
if(objLinks[i].onclick && xHow){
objLinks[i].onclick = new Function("return false;" + objLinks[i].onclick.toString().getFuncBody());
}
//link without onclick
else if(xHow){
objLinks[i].onclick = function(){return false;}
}
//remove return false with link without onclick
else if(!xHow && objLinks[i].onclick.toString().indexOf("function(){return false;}") != -1){
objLinks[i].onclick = null;
}
//remove return false link with onclick
else if(!xHow && objLinks[i].onclick.toString().indexOf("return false;") != -1){
strClick = objLinks[i].onclick.toString().getFuncBody().replace("return false;","")
objLinks[i].onclick = new Function(strClick);
}
}
}
String.prototype.getFuncBody = function(){
var str=this.toString();
str=str.replace(/[^{]+{/,"");
str=str.substring(0,str.length-1);
str = str.replace(/\n/gi,"");
if(!str.match(/\(.*\)/gi))str += ")";
return str;
}
由http://radio.javaranch.com/pascarello/2005/05/17/1116355421179.html提供
答案 2 :(得分:0)
在IE的一些颠覆中,有一个错误是你问题的根源。它忽略了onclick事件的结果。所以,你可以做什么?不是一个完美的方式,但IE6也接受链接的“禁用”属性。因此,请尝试将“禁用”属性设置为ture。这不会影响其他浏览器。
答案 3 :(得分:0)
对锚标记的任何点击都会生成一个点击事件,该事件会冒泡到正文。最简单的方法是在主体上放置一个不执行任何操作的单击处理程序,如果目标元素是锚,则返回false。