2010-08-12 25 views
10

Javascript tabanlı bir arayüz var - bu yüzden javascript olmadan çalışmayı desteklemem gerekiyor. javascript: void (0) veya onclick = <a> için "false döndür" - hangisi daha iyi?

Ben Tıklama etkinliğini bağlayan JS kodu ile

<a>Something</a> 

unsurları var - bu yüzden, ben kullanıcının tıklamadan sonra sayfayı yeniden istemiyoruz.

Hangi yol daha iyi?

1. <a href="javascript:void(0)">Something</a> 
2. <a href="#" onclick="return false;">Something</a> 

Her yöntemin avantajları ve dezavantajları nelerdir?

+0

Ayrıca bkz: http://stackoverflow.com/questions/134845/href-for-javascript-links-or-javascriptvoid0 http://stackoverflow.com/questions/3451560/ideal-value-for-a-href -en-için-js-olayı – CMS

+1

yinelenen kullanılır? bkz: http://stackoverflow.com/questions/245868/what-is-the-difference-between-the-different-methods-of-putting-javascript-in-an –

cevap

10

Her ikisi de kötü seçimlerdir. Sunu içerikle karıştırılmamalıdır. Bu, javascript: URI'leri ve kesinlikle onclick öznitelikleri anlamına gelir.

şekilde yapmak:

<a id="myLink">Something</a> 
<script> 
    function myFunction(...) { ... } 
    document.getElementById('myLink').addEventListener('click', myFunction, false); 
</script>
+0

Genel olarak, bu ikinci bir yoldur - etkinlik dinleyici. Sadelik için onclick = "..." yazdım. JQuery kullanıyorum - $ ("# elementId"). Bind ("tıklayın", function() {return false;}); Teşekkür ederiz. –

+0

Her ikisinin de kötü seçimler olduğu konusunda haklısınız, ancak bu daha da kötüsü: IE'de çalışmıyor. Ve bu,'ndan hemen sonra bir'

2

Ne. Bağlantınız herhangi bir yere gitmiyorsa, <a> öğesini kullanmayın. <span> veya uygun başka bir şey kullanın ve istediğiniz şekilde stil uygulamak için CSS ekleyin.

İlgili konular