puede desactivar todos los enlaces en una página con esta clase de estilo:
a {
pointer-events:none;
}
ahora, por supuesto, el truco es desactivar los enlaces solo cuando sea necesario, así es como se hace:
use una clase A vacía, como esta:
a {}
luego, cuando desee desactivar los enlaces, haga esto:
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: Los nombres de las reglas CSS se transforman a minúsculas en algunos navegadores, y este código distingue entre mayúsculas y minúsculas, por lo que es mejor utilizar nombres de clases en minúsculas para esto.
para reactivar enlaces:
GetStyleClass('a').pointerEvents = ""
consulte esta página http://caniuse.com/pointer-events para obtener información sobre la compatibilidad del navegador
Creo que esta es la mejor manera de hacerlo, pero lamentablemente IE, como siempre, no lo permitirá :) Estoy publicando esto de todos modos, porque creo que contiene información que puede ser útil, y porque algunos proyectos usan un navegador conocido. , como cuando usa vistas web en dispositivos móviles.
Si solo desea desactivar UN enlace (solo me doy cuenta de que ESA era la pregunta), usaría una función que establezca manualmente la URL de la página actual, o no, en función de esa condición. (como la solución que aceptó)
esta pregunta fue MUCHO más fácil de lo que pensaba :)