2009-04-16 2 views
0

Я хочу отключить ссылки на странице.Как отключить ссылку в IE6

Я использовал функцию ниже, которая работает в IE3FF3 &, но не работает на IE6.

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

Куда идет ссылка после того, как вы запустили этот код? – alex

ответ

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

+4

Святой bejesus. Немного overkill, особенно когда jQuery доступен, нет? –

+0

@Paolo, ха-ха, договорились – alex

3

Что об этом?

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

muy bien. плюс uno. :) –

+0

О, давай, это простой испанский! «Очень хорошо, плюс один». =) –

+0

+1 на ответ и комментарий: p –

0

В некоторых подразделах IE есть ошибка, которая является источником вашей проблемы. Он игнорирует результат события onclick. Так что ты можешь сделать? Ну, не идеальный способ, но IE6 также принимает свойство «отключено» для ссылок. Поэтому попробуйте также установить свойство «disabled». Это не повлияет на другие браузеры.

0

Любой щелчок на ярлыке привязки генерирует событие щелчка, которое пузырится до тела. Проще всего было бы просто поместить обработчик кликов по телу, который ничего не делает и возвращает false, если целевой элемент является якорем.

Смежные вопросы