SORU
25 EYLÜL 2008, PERŞEMBE


Href JavaScript bağlantıları için öznitelik: "#" veya "javascript:void(0)"?

Aşağıdaki JavaScript kodu çalışan tek amacı olan bir bağlantı kurma için iki yöntem vardır. Hangisi daha iyi, işlevselliği, sayfa yükleme hızı, doğrulama amaçları açısından, vb.?

function myJsFunc() {
  alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>

ya

  function myJsFunc() {
    alert("myJsFunc");
  }
 <a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>

CEVAP
26 EYLÜL 2008, Cuma


javascript:void(0) kullanıyorum.

Üç Sebep. Geliştiricilerin # arasında bir takım kaçınılmaz olarak bazı işlevi bu gibi adlı dönüş değeri kullanarak açar kullanımını teşvik:

function doSomething() {
    //Some code
    return false;
}

Ama sonra onlar özelliği return doSomething() kullanın ve sadece doSomething() dikkat etmiyorum.

# kaçınmak için ikinci bir sebep son return false; eğer çağrılan işlev bir hata atar çalıştırmaz. Bu yüzden geliştiriciler de çağrılan işlev içinde herhangi bir hata uygun şekilde işlemek için hatırlamak zorunda.

Üçüncü bir sebep onclick olay özellik dinamik olarak atanmış olduğu durumlar vardır. Bir işlev çağrısı edebilmek için tercih ederim ya da dinamik olarak işlev özellikle ek bir yöntem ya da başka bir kod olmadan atayın. Dolayısıyla onclick (ya da bir şey üzerinde) HTML işaretleme şöyle:

onclick="someFunc.call(this)"

YA

onclick="someFunc.apply(this, arguments)"

javascript:void(0) kullanarak yukarıdaki baş ağrısı tüm engeller ve olumsuz herhangi bir örnek bulamadım.

Eğer öyleyse, yalnız bir geliştirici iseniz, o zaman açıkça kendi seçiminizi yapabilirsiniz, ama eğer bir takım olarak çalışıyorsanız ya da devlet için var:

Kullanım href="#", emin onclick Her zaman içerir return false; sonunda, herhangi denilen çalışmaz atmak bir hata ve eklerseniz, bir işlevi dinamik onclick özelliği olduğundan emin olun gibi değil atma bir hata döndürür false.

YA

href="javascript:void(0)" kullanın

İkinci açıkça çok daha kolay iletişim kurmak için.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • BigBoyTV

    BigBoyTV

    25 EYLÜL 2013
  • Liberator

    Liberator

    14 EYLÜL 2007
  • Louis C.K.

    Louis C.K.

    18 HAZİRAN 2006