vous pouvez désactiver tous les liens d'une page avec cette classe de style:
a {
pointer-events:none;
}
maintenant, bien sûr, l'astuce est de désactiver les liens uniquement lorsque vous en avez besoin, voici comment procéder:
utilisez une classe A vide, comme ceci:
a {}
puis lorsque vous souhaitez désactiver les liens, procédez comme suit:
GetStyleClass('a').pointerEvents = "none"
function GetStyleClass(className)
{
for (var i=0; i< document.styleSheets.length; i++) {
var styleSheet = document.styleSheets[i]
var rules = styleSheet.cssRules || styleSheet.rules
for (var j=0; j<rules.length; j++) {
var rule = rules[j]
if (rule.selectorText === className) {
return(rule.style)
}
}
}
return 0
}
REMARQUE: les noms de règles CSS sont transformés en minuscules dans certains navigateurs, et ce code est sensible à la casse, il vaut donc mieux utiliser les noms de classe en minuscules pour cela
pour réactiver les liens:
GetStyleClass('a').pointerEvents = ""
consultez cette page http://caniuse.com/pointer-events pour plus d'informations sur la compatibilité du navigateur
Je pense que c'est la meilleure façon de le faire, mais malheureusement, IE, comme toujours, ne le permettra pas :) Je poste quand même, parce que je pense que cela contient des informations qui peuvent être utiles, et parce que certains projets utilisent un navigateur connu , comme lorsque vous utilisez des vues Web sur des appareils mobiles.
si vous voulez juste désactiver UN lien (je me rends seulement compte que c'était la question), j'utiliserais une fonction qui définit manuellement l'url de la page actuelle, ou non, en fonction de cette condition. (comme la solution que vous avez acceptée)
cette question était BEAUCOUP plus facile que je ne le pensais :)