Núcleo do jQuery - método noConflict()

Exemplo

Use o método noConflict() para atribuir um novo nome à variável jQuery:

var jq=$.noConflict();

Experimente você mesmo

Definição e uso

O método noConflict() transfere o controle da variável $ do jQuery.

Este método libera o controle do jQuery sobre a variável $.

Este método também pode ser usado para atribuir um novo nome personalizado à variável jQuery.

Dica:Uso útil quando outras bibliotecas JavaScript usam $ para suas funções.

Sintaxe

jQuery.noConflict(removeAll)
Parâmetros Descrição
removeAll Booleano. Indica se deve permitir que a variável jQuery seja completamente restaurada.

Descrição

Muitas bibliotecas JavaScript usam $ como nome de função ou variável, jQuery não é exceção. No jQuery, $ é apenas um alias do jQuery, portanto, mesmo sem usar $, podemos garantir que todas as funcionalidades sejam garantidas. Se precisarmos usar outra biblioteca JavaScript além do jQuery, podemos devolver o controle para essa biblioteca chamando $.noConflict():

<script type="text/javascript" src="other_lib.js"></script>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
  $.noConflict();
  // Código usando $ de outra biblioteca
</script>

Pode ser combinado com o método .ready() para dar nomes de alias a objetos jQuery, essa técnica é muito eficaz:

<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($) {
    // Código usando $ do jQuery
  });
  // Código usando $ de outra biblioteca
</script>

Além disso, ao passar o parâmetro true para este método, podemos devolver o controle de $ e jQuery para a biblioteca original. Pense bem antes de usá-lo!

Esta é uma versão mais extrema em comparação com o método noConflict simples, porque redefinirá completamente o jQuery. Geralmente usado em situações extremas, como quando se deseja嵌入 um ambiente altamente conflituente. Aviso: A chamada deste método pode levar a falha de plugins.

Exemplo

Exemplo 1

Mapear o objeto referenciado por $ de volta ao objeto original:

jQuery.noConflict();
jQuery("div p").hide(); // Uso do jQuery
$("content").style.display = "none"; // Uso do $() de outras bibliotecas

Exemplo 2

Restabelecer o uso do alias $, então criar e executar uma função, na qual ainda se usa $ como alias do jQuery. Nesta função, o objeto $ original é inválido. Esta função é muito eficaz para a maioria dos plugins que não dependem de outras bibliotecas:

jQuery.noConflict();
(function($) { 
  $(function() {
    // Código que usa $ como alias do jQuery
  });
})(jQuery);
... // Código de outras bibliotecas que usam $ como alias

Exemplo 3

Pode combinar jQuery.noConflict() com o ready abreviado para tornar o código mais compacto:

jQuery.noConflict()(function() {
    // Código que usa jQuery
});
... // Código de outras bibliotecas que usam $ como alias

Exemplo 4

Criar um novo alias para usar o objeto jQuery na próxima biblioteca:

var j = jQuery.noConflict();
j("div p").hide(); // Código baseado no jQuery
$("content").style.display = "none"; // Código do $() baseado em outras bibliotecas

Exemplo 5

Mover completamente o jQuery para um novo espaço de nomes:

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

Resultados:

dom.query("div p").hide(); // Código novo do jQuery
$("content").style.display = "none"; // Código do $() de outra biblioteca
jQuery("div > p").hide(); // Outra versão de código do jQuery