繁体   English   中英

如何禁用IE6中的链接

[英]How to disable a link in IE6

我想禁用页面中的链接。

我使用了下面的功能,该功能可在FF3和IE7中使用,但不适用于IE6。

$(document).ready(function() {
    $("a").attr("href", "")
          .unbind("click")
          .click(function() { return false });
});

那这个呢?

$(document).ready(function() {
    $("a").removeAttr('href');
});

尝试

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提供

在IE的某些子版本中,存在一个错误,这就是问题的根源。 它忽略onclick事件的结果。 所以,你可以做什么? 嗯,这不是一种完美的方法,但是IE6也接受链接的“禁用”属性。 因此,也尝试将“ disabled”属性设置为ture。 这不会影响其他浏览器。

锚标记上的任何单击都会生成一个单击事件,该事件会冒泡到主体。 最简单的方法是将单击处理程序放在不执行任何操作的主体上,如果目标元素是锚点,则返回false。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM