"javascript:void(0)" ne anlama geliyor?

<a href="javascript:void(0)" id="loginlink">login</a>

Bu tür hrefleri birçok kez gördüm, ancak bunun tam olarak ne anlama geldiğini bilmiyorum.

Çözüm

void operatörü verilen değeri değerlendirir ifadesini kullanır ve ardından undefined değerini döndürür.

void operatörü genellikle yalnızca undefined ilkelini elde etmek için değeri, genellikle "void(0)" kullanılarak (ki "void 0" ile eşdeğerdir). Bunların içinde durumlarında, global değişken undefined yerine kullanılabilir (şu özelliklere sahip olduğu varsayılarak varsayılan olmayan bir yere atanmamış değer).

Burada bir açıklama yer almaktadır: void operatörü.

Bunu bir bağlantının hrefi ile yapmak istemenizin nedeni, normalde bir javascript: URL'sinin tarayıcıyı bu JavaScript'in değerlendirilmesinin sonucunun düz metin sürümüne yönlendirecek olmasıdır. Ancak sonuç undefined ise, tarayıcı aynı sayfada kalır. void(0)sadeceundefined` olarak değerlendirilen kısa ve basit bir koddur.

Yorumlar (26)

Yani hiçbir şey yapmayacak. Bu, bağlantının hiçbir yere 'gitmemesini' sağlamaya yönelik bir girişimdir. Ama bu doğru yol değil.

Aslında onclick olayında return false yapmalısınız, bunun gibi:

<a href="#" onclick="return false;">hello</a>

Genellikle bağlantı 'JavaScript-y' gibi bir şey yapıyorsa kullanılır. Bir AJAX formu göndermek ya da bir resmi değiştirmek gibi. Bu durumda, çağrılan fonksiyonun false döndürmesini sağlarsınız.

Bununla birlikte, web sitenizi tamamen harika hale getirmek için, genellikle web sitenize göz atan kişi JavaScript'i çalıştırmamayı seçerse aynı işlemi yapan bir bağlantı eklersiniz.

<a href="backup_page_displaying_image.aspx"
   onclick="return coolImageDisplayFunction();">hello</a>
Yorumlar (17)

a** etiketlerinizde her zaman bir href olmalıdır. Tanımsız' döndüren bir JavaScript işlevini çağırmak yeterli olacaktır. Aynı şekilde '#''e bağlantı vermek de.

Internet Explorer 6'da href içermeyen bağlantı etiketlerine a:hover stili uygulanmaz.

Evet, bu korkunç ve insanlığa karşı işlenmiş küçük bir suç, ancak yine de genel olarak Internet Explorer 6 da öyle.

Umarım bu yardımcı olur.

Internet Explorer 6 aslında insanlığa karşı işlenmiş büyük bir suçtur.

Yorumlar (0)