jQuery ਕੋਰ - noConflict() ਮੈਟਾਡਾ

ਉਦਾਹਰਣ

noConflict() ਮੈਟਾਡਾ ਨਾਲ ਜੇਕੇਕੇਐੱਮ ਵੈਰੀਅੱਬਲ ਦਾ ਨਵਾਂ ਨਾਮ ਨਿਰਧਾਰਤ ਕਰੋ:

var jq=$.noConflict();

ਆਪਣੇ ਆਪ ਕੋਸ਼ਿਸ਼ ਕਰੋ

ਵਿਵਰਣ ਅਤੇ ਵਰਤੋਂ

noConflict() ਮੈਟਾਡਾ ਜੇਕੇਕੇਐੱਮ ਵੈਰੀਅੱਬਲ ਦੀ ਨਿਯੰਤਰਤਾ ਦਾ ਹਿਸਾਬ ਲੈਂਦਾ ਹੈ。

ਇਹ ਮੈਟਾਡਾ ਜੇਕੇਕੇਐੱਮ ਨੂੰ $ ਵੈਰੀਅੱਬਲ 'ਤੇ ਨਿਯੰਤਰਤਾ ਛੱਡ ਦਿੰਦਾ ਹੈ。

ਇਹ ਮੈਟਾਡਾ ਜੇਕੇਕੇਐੱਮ ਵੈਰੀਅੱਬਲ ਦੇ ਨਵੇਂ ਪਿਤਾਂਬਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਵੀ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ。

ਸੁਝਾਅ:ਸੁਝਾਅ: ਇਹ ਮੈਟਾਡਾ ਹੋਰ JavaScript ਲਾਇਬਰੇਰੀਆਂ ਦੇ ਫੰਕਸ਼ਨਾਂ ਵਿੱਚ $ ਦੇ ਵਰਤੋਂ ਵਾਸਤੇ ਕਾਫੀ ਉਪਯੋਗੀ ਹੈ。

ਸਿਧਾਂਤ

jQuery.noConflict(removeAll)
ਪੈਰਾਮੀਟਰ ਵਰਣਨ
removeAll ਬੋਲੀਨ ਵੈਲਿਊ। ਇਹ ਸੁਝਾਵ ਦਿੰਦਾ ਹੈ ਕਿ ਕੀ ਜੇਕੇਕੇਐੱਮ ਵੈਰੀਅੱਬਲ ਨੂੰ ਪੂਰੀ ਤਰ੍ਹਾਂ ਮੁੜ ਸੁਧਾਰਨਾ ਚਾਹੀਦਾ ਹੈ ਜਾਂ ਨਹੀਂ。

ਵਿਸ਼ੇਸ਼ਤਾ

ਕਈ JavaScript ਲਾਇਬਰੇਰੀਆਂ $ ਨੂੰ ਫੰਕਸ਼ਨ ਜਾਂ ਵੈਰੀਅੱਬਲ ਦੇ ਨਾਮ ਵਜੋਂ ਵਰਤਦੀਆਂ ਹਨ, jQuery ਵੀ ਅਜਿਹਾ ਹੈ। jQuery ਵਿੱਚ, $ ਜਸਟ ਜੇਕੇਕੇਐੱਮ ਦਾ ਅਲਾਸ ਹੈ, ਇਸ ਲਈ ਜੇਕੇਕੇਐੱਮ ਨੂੰ ਇਸਤੇਮਾਲ ਨਾ ਕਰਨ ਵੀ ਸਾਰੀਆਂ ਕਾਰਜਕਸ਼ਮਤਾਵਾਂ ਸੁਰੱਖਿਅਤ ਰਹਿੰਦੀਆਂ ਹਨ। ਜੇਕੇਕੇਐੱਮ ਤੋਂ ਬਾਹਰ ਦੀ ਕਿਸੇ ਹੋਰ JavaScript ਲਾਇਬਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਨ ਨੂੰ ਚਾਹੁੰਦੇ ਹਾਂ, ਤਾਂ ਅਸੀਂ $.noConflict() ਨਾਲ ਉਸ ਲਾਇਬਰੇਰੀ ਨੂੰ ਨਿਯੰਤਰਤਾ ਵਾਪਸ ਲੈ ਸਕਦੇ ਹਾਂ:

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // ਹੋਰ ਲਾਇਬਰੇਰੀ ਦੇ $ ਦੇ ਕੋਡ
</script>

ਇਹ .ready() ਮੈਥਡ ਨਾਲ ਮਿਲਾ ਕੇ ਵਰਤਿਆ ਜਾ ਸਕਦਾ ਹੈ, ਜਿਸ ਨਾਲ jQuery ਆਬਜੈਕਟ ਨੂੰ ਨਾਮ ਦੇਣਾ ਬਹੁਤ ਪ੍ਰਭਾਵਸ਼ਾਲੀ ਹੈ:

<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 $ ਦੇ ਕੋਡ
  });
  // ਹੋਰ ਲਾਇਬਰੇਰੀ ਦੇ $ ਦੇ ਕੋਡ
</script>

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਸ ਮੈਟਾਡਾ ਨੂੰ ਪੈਰਾਮੀਟਰ ਤ੍ਰੂ ਦੇ ਰੂਪ ਵਿੱਚ ਦਿੱਤਾ ਜਾਣ ਨਾਲ, ਅਸੀਂ $ ਅਤੇ jQuery ਦੀ ਨਿਯੰਤਰਤਾ ਮੂਲ ਲਾਇਬਰੇਰੀ ਨੂੰ ਸੌਂਪ ਸਕਦੇ ਹਾਂ। ਇਹ ਇਸਤੇਮਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਚਿੰਤਾ ਕਰੋ!

ਇਹ ਸਾਦੇ noConflict ਮੱਥੋ ਨੂੰ ਵੱਧ ਸੂਖਮ ਕਰਦਾ ਹੈ ਕਿਉਂਕਿ ਇਹ ਪੂਰੀ ਤਰ੍ਹਾਂ jQuery ਨੂੰ ਮੁੜ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ।ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਇੱਕ ਅਤਿਅੰਤ ਕਠਿਨ ਸਥਿਤੀ ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿਵੇਂ ਕਿ ਤੁਸੀਂ ਜੂਨੀਅਰ ਨੂੰ ਇੱਕ ਹੋਰ ਵੱਡੇ ਸਾਂਝੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਵਰਤਣਾ ਚਾਹੁੰਦੇ ਹੋ।ਨੋਟ: ਇਸ ਤਰ੍ਹਾਂ ਦੇ ਸਟੋਰੇਜ ਦੇ ਬਾਅਦ ਪਲਗਇਨਾਂ ਦੇ ਫੈਲਣ ਦੀ ਸੰਭਾਵਨਾ ਹੈ।

ਉਦਾਹਰਣ

ਉਦਾਹਰਣ 1

$ ਦੇ ਹਵਾਲੇ ਵਾਲੇ ਆਬਜੈਕਟ ਨੂੰ ਮੂਲ ਆਬਜੈਕਟ ਵਿੱਚ ਬਦਲ ਦਿਓ:

jQuery.noConflict();
jQuery("div p").hide();	// jQuery ਦੀ ਵਰਤੋਂ
$("content").style.display = "none";	// ਹੋਰ ਲਾਇਬ੍ਰੇਰੀ ਦੇ $() ਦੀ ਵਰਤੋਂ

ਉਦਾਹਰਣ 2

ਉਪਨਾਮ $ ਦੀ ਵਰਤੋਂ ਬਾਅਦ ਫਿਰ ਉਸ ਨੂੰ ਵਾਪਸ ਲਿਆਉਣ ਅਤੇ ਇੱਕ ਫੰਕਸ਼ਨ ਬਣਾਓ ਜਿਸ ਵਿੱਚ ਇਸ ਫੰਕਸ਼ਨ ਦੇ ਅਧੀਨ ਪ੍ਰਯੋਗ ਵਿੱਚ $ ਨੂੰ ਯਾਦ ਰੱਖਿਆ ਜਾਵੇਗਾ ਅਤੇ ਮੂਲ ਆਬਜੈਕਟ ਨਾਲ ਇਸਦਾ ਉਪਯੋਗ ਕੀਤਾ ਜਾਵੇਗਾ।ਇਹ ਮੁੱਖ ਤੌਰ 'ਤੇ ਉਨ੍ਹਾਂ ਪਲਗਇਨਾਂ ਲਈ ਸਹੀ ਹੈ ਜੋ ਹੋਰ ਕੋਈ ਲਾਇਬ੍ਰੇਰੀ ਨਹੀਂ ਵਰਤਦੇ।

jQuery.noConflict();
(function($) { 
  $(function() {
    // $ ਨੂੰ jQuery ਦੇ ਉਪਨਾਮ ਵਜੋਂ ਵਰਤਣ ਦਾ ਕੋਡ
  });
})(jQuery);
... // $ ਦੇ ਉਪਯੋਗ ਵਾਲੀਆਂ ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਦਾ ਕੋਡ

ਉਦਾਹਰਣ 3

jQuery.noConflict() ਨੂੰ ਸ਼ਾਰਟਕੈਟ ready ਨਾਲ ਮਿਲਾ ਕੇ ਕੋਡ ਨੂੰ ਸ਼ਾਨਦਾਰ ਬਣਾਓ:

jQuery.noConflict()(function(){
    // jQuery ਦੇ ਕੋਡ ਦੀ ਵਰਤੋਂ
});
... // ਹੋਰ ਲਾਇਬ੍ਰੇਰੀਆਂ ਵਿੱਚ $ ਦੇ ਉਪਯੋਗ ਦਾ ਕੋਡ

ਉਦਾਹਰਣ 4

ਇੱਕ ਨਵਾਂ ਉਪਨਾਮ ਬਣਾਓ ਤਾਂ ਕਿ ਆਉਣ ਵਾਲੀ ਲਾਇਬ੍ਰੇਰੀ ਵਿੱਚ jQuery ਆਬਜੈਕਟ ਦਾ ਉਪਯੋਗ ਕੀਤਾ ਜਾ ਸਕੇ:

var j = jQuery.noConflict();
j("div p").hide();	// jQuery ਦਾ ਕੋਡ
$("content").style.display = "none";	// ਹੋਰ ਲਾਇਬ੍ਰੇਰੀ ਦੇ $() ਕੋਡ

ਉਦਾਹਰਣ 5

ਪੂਰੀ ਤਰ੍ਹਾਂ ਜੂਨੀਅਰ ਨੂੰ ਇੱਕ ਨਵੇਂ ਨਾਮ ਸਪੇਸ ਵਿੱਚ ਲਿਆਉਣਾ:

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

ਨਤੀਜਾ:

dom.query("div p").hide();	// ਨਵੇਂ jQuery ਦਾ ਕੋਡ
$("content").style.display = "none";	// ਹੋਰ ਲਾਇਬ੍ਰੇਰੀ $() ਦਾ ਕੋਡ
jQuery("div > p").hide();	// ਹੋਰ ਇੱਕ ਸ਼ੈਲੀ ਦਾ jQuery ਕੋਡ