$ (Document) Neden olduğunu. Hazır benim için ateş değil?

8 Cevap php

In a php file i have used include to include the following js.php file and prior to that i have included the jquery file.

<script type="text/javascript">

$(document).ready(function(){
     alert("hello");
});
</script>

Ama çalışmıyor. Neden? Ben $ (document). hazır atlama işlevi ne zaman çalışır.

Ama içeride jquery kodu gerekir. ne yanlış?

8 Cevap

The most likely answer, based on what you have said, is that the core jQuery file is not actually included correctly in the page. You need something like:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

Şansı, bu eksik veya yanlış yazdınız edilir.

Sessizce başarısız olur başka neden, ve kalan tüm callbacks asla denir:

$(document).ready(null);

Eğer boş dönmek değişkenleri veya sözdizimi hataları varsa Yani kontrol edin. Bu gibi:

$(document).ready(function($){}(jQuery));

Yukarıdaki fonksiyonu anında denir ve undefined döndürülür dikkat edin.

Evet, bazen bu ile sorun olduğunu fark ettim, ben bu sorunu düzeltmek için güvenli bir çözüm yazdı.

// jquery plugin 'jquery.ready.fix.js'
// @author Szymon Działowski
;(function ($) {
    $.fn.ready.old || $(function (r) {
        r = $.fn.ready;
        $.fn.ready = function (fn) {    $.isReady ? fn() : r(fn);    };
        $.fn.ready.old = r;
    });
})(jQuery);

bundan sonra kod çalıştırabilir:

$(function () {alert('go')})

ve her zaman uyarı yangın.

Ps: o "ördek delme" hakkında daha fazla denilen bir tekniktir: http://www.paulirish.com/2010/duck-punching-with-jquery/

Eğer jquery dosyasının adını yanlış mümkün mü?

Ben de benzer bir sorunla karşı karşıya ve bu ben ne yaptım.

O document.ready yerleştirilir olun after geri arama fonksiyonu javascript dosyasında tanımlanır.

Burada, init document.ready ayrıştırılır edilirken henüz tanımlanmamıştır.

//won't work
$(document).ready(init);
var init = function() {
   console.log('init not called');
}

Doğru yöntem:

//Works
var init = function() {
   console.log('document is ready');
}
$(document).ready(init);

Dikkat ederseniz $ (document). Hazır (init) sonuna yerleştirilir.

Ayrıca jquery etiketi içerir tanımlamak nasıl dışarı bakmak. Bu iki ayrı etiketleri ile etiket açmak ve kapatmak için gereken nedense görünüyor. O iş değil gibi görünüyor kapanış ile bir etiketi kullanarak:

Works:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"></script>

Çalışmıyor:

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.js"/>

Ben sadece <script type="text/javascript"> <script type="javascript"> olarak değiştirildi ve tüm sorunları gitmiş, böyle bir sorun vardı!

yerine $ (document) ready (function () {...}).;

denemek

. $ (Document) hazır (abc ());

function abc() { .... }

Kendimi yerlerde çok aradı, ama bir çözüm bulamadı me.I için çalıştı. Bu denedim rastgele ve çalıştı!