ran*_*ran 4 javascript firefox google-chrome cross-browser
我想在我的页面中禁用所有href链接.我使用下面的代码,它只在IE中工作正常.
var elems = document.getElementsByTagName("*");
var len = elems.length;
for (i=0; i<len; i++) {
if(elems[i].tagName.toLowerCase() == 'a'){
elems[i].disabled = true;
}
}
Run Code Online (Sandbox Code Playgroud)
但我想在所有浏览器上工作.请有人帮我解决这个问题.
提前致谢.
jfr*_*d00 18
如果您不想更改链接的href,也可以这样做:
window.onload = function() {
var anchors = document.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
anchors[i].onclick = function() {return false;};
}
};
Run Code Online (Sandbox Code Playgroud)
这里的工作演示:http://jsfiddle.net/jfriend00/9YkJQ/.
小智 5
这是一个非常老的线程,但万一其他人来到这个页面,可以使用以下方法设置disabled属性:
element.setAttribute('disabled', 'disabled');
Run Code Online (Sandbox Code Playgroud)
这在所有浏览器中都被识别,并将禁用该链接.但是,禁用链接上的触发事件在不同的浏览器和版本中的处理方式不同.FF&Chrome仍将触发onclick事件,其中IE8 +(不是兼容模式)不会触发事件.如果没有连接到锚点的onclick事件处理程序,则不需要这样做,一旦设置了disabled属性,就不会触发正常的href.要停止触发click事件,上面的代码将起作用.parens不是必需的,并且在个人情况下,我不会在这种情况下使用它们,因为我认为parens用于分组或功能.在之前提供的解决方案中似乎没有必要.
| 归档时间: |
|
| 查看次数: |
15044 次 |
| 最近记录: |