вы можете отключить все ссылки на странице с помощью этого класса стиля:
a {
pointer-events:none;
}
теперь, конечно, трюк заключается в том, чтобы отключать ссылки только тогда, когда вам нужно, вот как это сделать:
используйте пустой класс A, например:
a {}
затем, когда вы хотите отключить ссылки, сделайте следующее:
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
}
ПРИМЕЧАНИЕ. В некоторых браузерах имена правил CSS преобразуются в нижний регистр, и этот код чувствителен к регистру, поэтому для этого лучше использовать имена классов в нижнем регистре.
для повторной активации ссылок:
GetStyleClass('a').pointerEvents = ""
проверьте эту страницу http://caniuse.com/pointer-events для получения информации о совместимости браузера
Я думаю, что это лучший способ сделать это, но, к сожалению, IE, как всегда, не позволит этого :) Я все равно публикую это, потому что я думаю, что он содержит информацию, которая может быть полезна, и потому что некоторые проекты используют известный браузер , например, когда вы используете веб-представления на мобильных устройствах.
если вы просто хотите деактивировать ОДНУ ссылку (я понимаю, что это был вопрос), я бы использовал функцию, которая вручную устанавливает URL-адрес текущей страницы или нет, в зависимости от этого условия. (как решение, которое вы приняли)
этот вопрос был НАМНОГО проще, чем я думал :)