jQuery noconflict çalışmıyor?

Ben bununla ilgili problemler yaşıyorum ve testten sonra bile hangi bileşenin buna sebep olduğunu anlayamıyorum.

Yani yaptığım şey kullanmaktı

jQuery.noConflict();  
jQuery(document).ready(function() {  
   jQuery("a").click(function() {  
     alert("Hello world!");  
   });  
 });  

Ayrıca tüm $ 'jQuery ile değiştirdim. Ancak "$ bir işlev değil" hataları kaybolurken, kodun çoğu hala çalışmıyor.

Here is one working example that doesn't work on the site: http://jsfiddle.net/pufamuf/Q3YpU/3/

Siteme baktığınızda, 'etkin' bölüm aynı kod olsa bile çalışmıyor

Link to Js file: Link

Ve son olarak, bu kodun tüm kısmı çalışmıyor:

jQuery('.scroll-pane').jScrollPane();
jQuery("#myTable").tablesorter({  
    headers: {  
        0: { 
            sorter: false 
        }, 
        8: { 
            sorter: false 
        } 
    },
        widgets: ['zebra']


}); 

Herhangi bir hata atmamakla birlikte, özel kaydırma çubuğu çalışmıyor ve masa-sıralayıcısı eklentisi de yok.

Bunu nasıl düzeltebileceğimi bilen var mı? Teşekkürler! :)

1
Hayır, wordpress değil.
katma yazar pufAmuf, kaynak
Bu WordPress'te mi?
katma yazar Abe Miessler, kaynak

1 cevap

Eklentileriniz çalışıyor çünkü kendileri de $ kullanıyorlar. Yani bir çatışma var ve onlar idam etmiyorlar. Bunları jQuery ile değiştirebilir veya eklenti dosyasının içine jQuery.noConflict (); ekleyebilirsiniz.

JQuery kodu çağrıldığında, noConflict() işlevini çalıştırması gerekir. Bu işlevi aşağıdaki gibi bir değişkende saklayamazsınız: $ JS . Bunun yerine JS kullanmayı deneyin.

1
katma
Hayır, yanılmıyorsam, onu bırakabilirsin. Problemin, $ değişkenini bir değişken ve/veya işlev olarak ağır bir şekilde kullanan tablo sıralayıcı eklentisinde yer aldığını düşünüyorum.
katma yazar Joey, kaynak
JQuery dışında başka hangi JS kitaplıklarını kullanıyorsunuz?
katma yazar Joey, kaynak
Ayrıca, indeks sayfanızın alt kısmında da var $ JS = jQuery.noConflict (); , hala $ kullandığınızda.
katma yazar Joey, kaynak
Cevabımı güncelledim. Eğer sadece jQuery kullanarak, noConflict() 'i çağırmak için bir sebep olmamalıdır. $ JS öğesini JS olarak değiştirmeyi deneyin. noConflict() 'u çağırdıktan sonra jQuery için $ kullanmanın bazı hatalardan vazgeçtiğine inanıyorum.
katma yazar Joey, kaynak
katma yazar Joey, kaynak
Teşekkürler Joey, bunu deneyeceğim ve sonuçları paylaşacağım :)!
katma yazar pufAmuf, kaynak
Ayrıca unutmadan önce, bu dosyaya bakarsanız , sadece $ yerleştirilir dikkat edin. Bunu jQuery ile de değiştirebilir miyim?
katma yazar pufAmuf, kaynak
Hmmm, bu hataya neden olan herhangi bir eklentiyi öldürmek yerine benim için daha iyi olabileceğini düşünüyor musunuz? Kaydırıcı, değiştirdiğim yalnızca 1 $ kullanmasına rağmen çalışmıyor ve aynı zamanda tüm $ değerini tablo sıralayıcısında değiştirdim ve bu da sorunun kaynağını bulmanın ve değiştirmenin daha kolay olabileceğini düşünmemi sağlıyor. başka bir şey.
katma yazar pufAmuf, kaynak
Teşekkürler, ben tamir ettim. Bunu son derece garip buluyorum çünkü şu anda ana sayfadaki dosyaların çoğunu hariç tuttum: Bkz. ile aynı kütüphaneyi yükleyen bu bağımsız dosyaya bakın. Ana sayfada hala aktif olanlar . Bildiğim kadarıyla standart jQuery 1.6'dan başka bir şey kullanmıyorum. jQuery UI'yi kullanmıyorum bile.
katma yazar pufAmuf, kaynak
$ Js'deki bahşiş için teşekkürler. Bunu değiştirdim, ancak hala başka bir yerde bir sorun olduğunu düşünüyorum ve ne olduğunu görmek için siteyi şiddetle sıyırıyorum. Normal durumda, tüm kod 'bugün, yarın, başka bir gün' düğmeleri, özel kaydırma çubuğu ve tablo dışında çalışır. Tüm etkinliklerde çalışırlar.
katma yazar pufAmuf, kaynak
Yardımın için çok teşekkürler! Sensiz oraya varmazdım. Sorun, içeriğin dinamik olarak yüklendiğini ve içeriğin yüklenmesinden önce kaydırma çubuğu ve tablo düzenleyicisini yürüten kodun çalıştırıldığını söylemişti. Bu yüzden bu kodu alıp all-events.html dosyasına ekledim. Şuan çalışıyor! Teşekkürler!
katma yazar pufAmuf, kaynak