Href olmadan (javascript kullanan) çapa yapmanın en iyi crossbrowser yolu gerçek çapa gibi davranır?Hrefsiz ankraj
<a href="javascript:void(0)">link</a>
Güncelleme: bağlantılı belge anlaşılacağı gibi
Href olmadan (javascript kullanan) çapa yapmanın en iyi crossbrowser yolu gerçek çapa gibi davranır?Hrefsiz ankraj
<a href="javascript:void(0)">link</a>
Güncelleme: bağlantılı belge anlaşılacağı gibi
Bir do-nothing bağlantı bile atlamaz ... En bariz bir çapa olarak # kullanmaktır ancak sayfa atlamayı yapar
<a href="javascript:undefined">link</a>
elbette tanımsız yeniden tanımlandı, sürece: void(0)
getiri undefined
beri (Ambrosia tarafından işaret), aslında olduğu gibi kod yukarıdaki yazmak için daha iyidir.
Bu, void yönteminin amaçlandığı şey değildir. [Kaynak] "ruh yok etme" için https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Operators/void) – SimonDever
Bunlar atlamak olmaz: Bununla birlikte, ruh yok ve son derece çirkin olan
<a href="#null">Click</a>
<a href="#n">Click</a>
<a href="#undefined">Click</a>
.
+1 –
Tıklatma etkinliğine tepki veriyorsanız, yalnızca yanlış döndürdüğünüzden ve #hash veya başka bir URL'den hangisinin göz ardı edileceğinden, hrefte ne olduğundan emin olun.
<a href="#anything" onclick="doSomething(); return false;">link</a>
Belki bu çok sorun yok:
<a href="javascript:;">link</a>
Sen çapa ilişkili tıklama işleyicisinden yanlış dönmelidir. Verilen HTML:
document.getElementById('example').onclick = customAnchorReturn;
function customAnchorReturn() {
// do stuff
return false;
}
veya kullanarak jQuery:
<a id="example" href="/whatever"/>
JS gibi görünmelidir
$('a#example').click(function(){
// do stuff
return false;
});
Bu şekilde, JS mütevazi olacak ve durumda JS devre dışı çapa hala çalışır.
Hangi anlamda bir çapa gibi davranın? İmleci açmak ve fareyle üzerine altını çizmek mi? Eğer öyleyse, CSS ile işleri yapmak daha iyi olurdu. – R0MANARMY