Как отключить ссылку в IE6 - PullRequest
0 голосов
/ 16 апреля 2009

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

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

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

Ответы [ 4 ]

3 голосов
/ 16 апреля 2009

Как насчет этого?

$(document).ready(function() {
    $("a").removeAttr('href');
});
0 голосов
/ 16 апреля 2009

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

0 голосов
/ 16 апреля 2009

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

0 голосов
/ 16 апреля 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...