jQuery Core - noConflict() Yöntemi

Örnek

noConflict() yöntemi ile jQuery değişkeni için yeni bir ad belirleyin:

var jq=$.noConflict();

Deneyin

Tanım ve Kullanım

noConflict() yöntemi, değişken $'nin jQuery kontrolünü devredir.

Bu yöntem, jQuery'nin $ değişkenine olan kontrolünü serbest bırakır.

Bu yöntem, jQuery değişkeni için yeni özelleştirilmiş bir ad belirlemek için de kullanılabilir.

İpucu:Diğer JavaScript kütüphanelerinin fonksiyonlarında $ kullanıldığında bu yöntem çok faydalıdır.

Sözdizimi

jQuery.noConflict(removeAll)
Parametre Açıklama
removeAll Booleen değer. jQuery değişkeninin tamamen geri getirilmesine izin verip verilmeyeceğini belirtir.

Açıklama

Birçok JavaScript kütüphanesi $'yi fonksiyon veya değişken adı olarak kullanır, jQuery de aynı şekilde. jQuery'de $ sadece jQuery'nin bir takma adıdır, bu yüzden $ kullanılmadan bile tüm işlevsellik sağlanabilir. jQuery dışında bir başka JavaScript kütüphanesi kullanmamız gerektiğinde, bu kütüphaneye kontrolü döndürmek için $.noConflict() çağrısını kullanabiliriz:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Diğer bir kütüphanenin $ kodları
</script>

Bu teknik, .ready() yöntemi ile birleştirilerek jQuery nesnelerine takma ad vermek için çok etkili kullanılabilir:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  jQuery(document).ready(function($) {
    // jQuery $ kodları
  });
  // Diğer kütüphanelerin $ kodları
</script>

Ayrıca, bu yönteme true parametresi ile erişildiğinde, $ ve jQuery'nin kontrolünü orijinal kütüphaneye teslim edebiliriz. Kullanmadan önce dikkatli olun!

Bu, basit noConflict yöntemine göre daha radikal bir versiyon, çünkü bu, jQuery'yi tamamen yeniden tanımlayacaktır. Bu, genellikle jQuery'yi yüksek çatışma ortamına gömmek gibi bir durumda kullanılır. Uyarı: Bu yöntemi çağırdıktan sonra, eklentilerin çoğunun çalışmaması muhtemeldir.

Örnek

Örnek 1

$'i referans edilen nesneyi orijinal nesneye dönüştürün:

jQuery.noConflict();
jQuery("div p").hide();	// jQuery
$("content").style.display = "none";	// Diğer bir kütüphanenin $()

Örnek 2

Takma ad $'i geri yükleyin, ardından bir fonksiyon oluşturun ve çalıştırın. Bu fonksiyonun etkisi altında $'i hala jQuery'nin takma adı olarak kullanabilirsiniz. Bu fonksiyon, diğer kütüplere bağımlı olmayan çoğu eklenti için oldukça etkili olacaktır:

jQuery.noConflict();
(function($) { 
  $(function() {
    // $'i jQuery takma adı olarak kullanma kodu
  });
})(jQuery);
... // $'i takma adı olarak kullandığı diğer kütüphanelerin kodları

Örnek 3

jQuery.noConflict() ile kısaltılmış ready'i birleştirerek kodu daha sıkı hale getirebilirsiniz:

jQuery.noConflict()(function(){
    // jQuery'yi kullanma kodu
});
... // Başka kütüphanelerin $'i takma adı olarak kullandığı kodlar

Örnek 4

Sonraki kütüphanede jQuery nesnesini kullanmak için yeni bir takma ad oluşturun:

var j = jQuery.noConflict();
j("div p").hide();	// jQuery tabanlı kod
$("content").style.display = "none";	// Başka bir kütüphanenin $() kodu

Örnek 5

jQuery'yi tamamen yeni bir ad alanına taşıyın:

var dom = {};
dom.query = jQuery.noConflict(true);

Sonuç:

dom.query("div p").hide();	// Yeni jQuery kodu
$("content").style.display = "none";	// $() fonksiyonunun başka bir kütüphanenin kodu
jQuery("div > p").hide();	// jQuery'nin başka bir versiyonundaki kod