puoi disattivare tutti i link in una pagina con questa classe di stile:
a {
pointer-events:none;
}
ora ovviamente il trucco è disattivare i link solo quando serve, ecco come farlo:
usa una classe A vuota, come questa:
a {}
quindi quando vuoi disattivare i link, fai questo:
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
}
NOTA: i nomi delle regole CSS vengono trasformati in minuscolo in alcuni browser e questo codice fa distinzione tra maiuscole e minuscole, quindi è meglio usare nomi di classe minuscoli per questo
per riattivare i collegamenti:
GetStyleClass('a').pointerEvents = ""
controlla questa pagina http://caniuse.com/pointer-events per informazioni sulla compatibilità del browser
Penso che questo sia il modo migliore per farlo, ma purtroppo IE, come sempre, non lo permetterà :) Lo sto comunque postando, perché penso che contenga informazioni che possono essere utili e perché alcuni progetti usano un browser noto , come quando utilizzi le visualizzazioni web su dispositivi mobili.
se vuoi solo disattivare UN link (mi rendo conto solo che era QUELLA la domanda), userei una funzione che imposta manualmente l'URL della pagina corrente, oppure no, in base a quella condizione. (come la soluzione che hai accettato)
questa domanda è stata MOLTO più facile di quanto pensassi :)