Bu stil sınıfıyla bir sayfadaki tüm bağlantıları devre dışı bırakabilirsiniz:
a {
pointer-events:none;
}
şimdi elbette işin püf noktası, bağlantıları yalnızca ihtiyacınız olduğunda devre dışı bırakmaktır, bu nasıl yapılır:
bunun gibi boş bir A sınıfı kullanın:
a {}
sonra bağlantıları devre dışı bırakmak istediğinizde şunu yapın:
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
}
NOT: CSS kural adları bazı tarayıcılarda küçük harfe dönüştürülür ve bu kod büyük / küçük harfe duyarlıdır, bu nedenle bunun için küçük harfli sınıf adları kullanın
bağlantıları yeniden etkinleştirmek için:
GetStyleClass('a').pointerEvents = ""
tarayıcı uyumluluğu hakkında bilgi için bu sayfayı http://caniuse.com/pointer-events kontrol edin
Bunu yapmanın en iyi yolu olduğunu düşünüyorum, ancak ne yazık ki IE, her zaman olduğu gibi buna izin vermeyecek :) Bunu yine de gönderiyorum, çünkü bunun yararlı olabilecek bilgiler içerdiğini düşünüyorum ve bazı projeler bildiğiniz bir tarayıcı kullanıyor mobil cihazlarda web görünümlerini kullanırken olduğu gibi.
Eğer sadece BİR bağlantıyı devre dışı bırakmak istiyorsanız (sadece sorunun bu olduğunu anlıyorum), mevcut sayfanın url'sini manuel olarak ayarlayan veya bu koşula göre ayarlamayan bir işlev kullanırdım. (kabul ettiğiniz çözüm gibi)
bu soru düşündüğümden çok daha kolaydı :)