Kivinzi cha jQuery - methodi ya noConflict()

实例

Tumia methodi ya noConflict() kufikiria jina mpya kwa kina cha jQuery:

var jq=$.noConflict();

Jifunze tena

Maelezo na matumizi

Methodi ya noConflict() inafikiria uaminifu wa kina cha $ cha jQuery.

Hii methodi inafaulu kufungua uaminifu wa kina cha $ cha jQuery.

Hii methodi inaweza kutumika pia kwa kufikiria jina mpya kwa kina cha jQuery.

Tahadhari:Inafaa sana kwa masaa kama kitabu cha kwanza cha JavaScript kinatumia $ kwa mafaa yake.

Mafano

jQuery.noConflict(kufungua zote)
Parama Maelezo
kufungua zote Kipya cha boole. Inaeleza iwapo inaruhusiwa kurejea kina cha jQuery kwa kawaida.

Maelezo

Mambo mengi ya JavaScript inatumia $ kama jina la mafaa au variable, jQuery pia ina hivyo. Kwenye jQuery, $ ina uhusiano na jQuery, kwa hiyo inaweza kufikirika kwamba inafaa zaidi bila kutumia $ kwa sababu inafaa zaidi.

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Mafaa kwa kitabu cha kwanza cha $
</script>

Inaweza kutumika na methodi ya .ready() kwa kumfanya kipenda kwa jina la kifaa cha jQuery, teknolojia hii ina ufanisi mkubwa:

<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($) {
    // Mafaa kwa $ cha jQuery
  });
  // Mafaa kwa kitabu cha kwanza cha $
</script>

Hadiweza kufikia kwa kutoa thamani ya true kwa hii methodi, tunaweza kuweka uaminifu wa $ na jQuery kwa kuzuruka kwa kitabu cha asili. Tafadhali, mtaarifu kwa kuzungumza!

这是相对于简单的 noConflict 方法更极端的版本,因为这将完全重新定义 jQuery。这通常用于一种极端的情况,比如你想要将 jQuery 嵌入一个高度冲突的环境。注意:调用此方法后极有可能导致插件失效。

实例

例子 1

将 $ 引用的对象映射回原始的对象:

jQuery.noConflict();
jQuery("div p").hide();	// 使用 jQuery
$("content").style.display = "none";	// 使用其他库的 $()

例子 2

恢复使用别名 $,然后创建并执行一个函数,在这个函数的作用域中仍然将 $ 作为 jQuery 的别名来使用。在这个函数中,原来的 $ 对象是无效的。这个函数对于大多数不依赖于其他库的插件都十分有效:

jQuery.noConflict();
(function($) { 
  $(function() {
    // 使用 $ 作为 jQuery 别名的代码
  });
})(jQuery);
... // 其他用 $ 作为别名的库的代码

例子 3

可以将 jQuery.noConflict() 与简写的 ready 结合,使代码更紧凑:

jQuery.noConflict()(function(){
    // 使用 jQuery 的代码
});
... // 其他库使用 $ 做别名的代码

例子 4

创建一个新的别名用以在接下来的库中使用 jQuery 对象:

var j = jQuery.noConflict();
j("div p").hide(); // Kielezo cha jQuery
$("content").style.display = "none"; // Kielezo cha $() cha eneo lingine la kitabu cha kuelezea

Mfano 5

Inaongea kwa upya kwa jQuery kwa eneo lingine la kifaa cha jina:

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

Matokeo:

dom.query("div p").hide(); // Kielezo cha jQuery jipya
$("content").style.display = "none"; // Kielezo cha $() cha eneo lingine la $
jQuery("div > p").hide(); // Version ya pili ya jQuery ya kielezo