Javascript sayfası yüklendiğinde bir işlevi çağırmak. Yükte birden çok işlevi çalıştırma

Zaten az çok biliyorsan JavaScript, o zaman muhtemelen olay işleyicisini duymuşsunuzdur Yük hangi denir aşırı yük... Bu olay, sayfa yüklendiğinde hemen tetiklenir. Ve çoğu zaman, sayfa yüklendiğinde bazı işlevlerin yürütülmesi gerekir. Ama ya ihtiyacın olursa birden çok JavaScript işlevi çalıştır? Aslında böyle bir soru sitedeki kullanıcılardan biri tarafından soruldu. Bu nedenle hakkında onload'da birden fazla işlevi çalıştırma, bu yazıda yazacağım.

Çözüm gerçekten önemsiz, gerekli tüm diğer işlevlerin başlatıldığı bir işlevi çalıştırmak yeterlidir:





eğer açarsan bu sayfa(etiket gibi önemli şeyler yoktur html veya örneğin, kodun anlaşılmasını kolaylaştırmak için sayfanın başlığı ve kodlaması), sayfa yüklendiğinde işlevlerin nasıl tetikleneceğini göreceksiniz. B () ve C ().



sayfayı yüklerken butona tıklamak (4)

Sayfa yüklendiğinde bir işlevi çalıştırmak istiyorum, ancak onu kullanmak istemiyorum .

Başlatırsam çalışan bir betiğim var. , Örneğin:

İşlev koduAdres () (// kod)

Ama onsuz çalıştırmak istiyorum ve birçok şeyi denedim, örneğin:

Window.onload = kodAdresi;

Ama çalışmıyor.

Peki, sayfa yüklemesinde çalışmasını nasıl sağlayabilirim?

window.onload = function () (... vb. harika bir cevap değil.

Bu muhtemelen işe yarayacaktır, ancak bu olaya zaten bağlı olan diğer işlevleri de bozacaktır. Veya sizinkinden sonra başka bir fonksiyon bu olayı yakalarsa bozulur. Böylece, işe yarayan bir şeyin neden artık var olmadığını anlamaya çalışarak saatler geçirebilirsiniz.

Daha güvenilir bir cevap burada:

If (window.attachEvent) (window.attachEvent ("onload", yourFunctionName);) else (if (window.onload) (var curronload = window.onload; var newonload = function (evt) (curronload (evt); yourFunctionName ( evt);); window.onload = newonload;) başka (window.onload = yourFunctionName;))

Kullandığım bazı kodlar, yazara kredi vermek için nerede bulduğumu unuttum.

function my_function() (// sayfa yüklendikten sonra çalıştırmak istediğim kod ne olursa olsun) if (window.attachEvent) (window.attachEvent ("onload", my_function);) else if (window.addEventListener) (window.addEventListener ("load" ", my_function, false);) else (document.addEventListener (" load ", my_function, false);)

Bu yardımcı olur umarım :)

jQuery veya window.onload kullanmak yerine yerel JavaScript, jQuery'nin piyasaya sürülmesinden bu yana bazı harika özellikleri devraldı. Herkesin var modern tarayıcılar artık jQuery kitaplığını kullanmadan kendi DOM hazır işlevine sahiptir.

Document.addEventListener ("DOMContentLoaded", function () (uyarı ("Hazır!");), Yanlış);

window.onload = kodAdresi; çalışması gerekir - ve tam kod:

Ölçek

Ölçek

DOM yüklendiğinde yürütülecek birden çok işlevi yapılandırmanıza izin veren domReady betiğine bir göz atın. Bu temelde Dom'un birçok popüler JavaScript kitaplığında yapmaya istekli olduğu şeydir, ancak hafiftir ve dosyanızın başına alınabilir ve eklenebilir. harici dosya senaryo.

kullanım örneği

// domReady betiğine referans ekleyin veya // betiğin içeriğini buradan önce yerleştirin function codeAddress () () domReady (codeAddress);

Bugün Javascript öğrenmeye başlayan insanların sıklıkla karşılaştığı bir problemden bahsetmek istiyorum.

Sayfadaki kod açısından komut dosyasının kendisinden daha düşük olan HTML öğeleriyle etkileşime girmeye çalışırlar. Buna göre, komut dosyası zaten yüklendi, ancak etkileşime girecek öğe henüz orada değil. Bu sebeple hiçbir şey işe yaramayacaktır.

tuhaflık JavaScript diliçünkü kodu, kaynak kodda yazıldığı gibi satır satır sırayla yürütülür.

İşte bir örnek:

isimsiz döküman

#block kimliğine sahip öğeye css kuralı (arka plan rengi: sarı) uygulanmaz, çünkü hat

$ ("# blok").css ("arka plan rengi", "sarı");

Html satırı yüklenmeden önce yürütülecek:

Bir kodu veya işlevi yalnızca tüm belge tamamen yüklendikten sonra çalıştırmamız gerekirse ne olur?

Bunu nasıl yapabileceğinizin üç yolundan bahsetmek istiyorum.

1 yol. Jquery kitaplığını kullanma.

Çoğu zaman kendim kullanırım, en basit ve en uygun çözüm, ancak Jquery kitaplığının bağlanmasını gerektirir.

Aşağıdaki yöntemi kullanırsak önceki kodu nasıl dönüştüreceğimiz aşağıda açıklanmıştır.

isimsiz döküman

Yöntem 2. body öğesi ve onload özniteliği ile.

isimsiz döküman

Yöntem 3. Window nesnesini ve onload özelliğini kullanma.

isimsiz döküman

Durumunuza en uygun yöntemi seçin ve uygulamaya koyun.