Я хочу отключить ссылки на странице.
Я использовал приведенную ниже функцию, которая работает в FF3 и IE7, но не работает в IE6.
$(document).ready(function() { $("a").attr("href", "") .unbind("click") .click(function() { return false }); });
Как насчет этого?
$(document).ready(function() { $("a").removeAttr('href'); });
Любой щелчок по тегу привязки генерирует событие щелчка, которое всплывает до тела. Проще всего было бы просто поместить обработчик клика в тело, которое ничего не делает и возвращает false, если целевой элемент является якорем.
В некоторых версиях IE есть ошибка, которая является источником вашей проблемы. Он игнорирует результат события onclick. Так что ты можешь сделать? Ну, не идеальный способ, но IE6 также принимает "отключенное" свойство для ссылок. Так что попробуйте также установить свойство «disabled» на ture. Это не повлияет на другие браузеры.
1001 * попробовать *
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