Cómo resolver conflictos de nombres $ entre la biblioteca Jquery y otras bibliotecas_jquery
La forma más sencilla de resolver este conflicto es nombrarlos de manera diferente o hacer que el código en ejecución piense que son espacios de nombres diferentes.
Primero, importe la biblioteca jQuery antes que otras bibliotecas y use el método jQuery (devolución de llamada) directamente, como por ejemplo:
El código es el siguiente:
prueba ---prototipo
prueba---jQuery
jQuery(function(){ / /
función jQuery.noConflict().
jQuery( "p").click(function(){
alert( jQuery(this).text() );
});
});
$("pp").style.display = 'none'; //Usar prototipo
En segundo lugar, la biblioteca jQuery se importa después de otras bibliotecas y El control de la variable $ se transfiere a otras bibliotecas a través del método jQuery.noConflict(). Método noConflict():
El código es el siguiente:
jQuery.noConflict(); //Dar el control de la variable $ a prototipo.js
jQuery ( function(){//Usar jQuery
jQuery("p").click(function(){
alert( jQuery(this).text() ); p >
});
});
$("pp").style.display = 'none'; > Código 2
El código es el siguiente:
var $j = jQuery.noConflict() //Personaliza el acceso directo como un acceso directo de comparación
$ j( function(){ //Usar jQuery
$j("p").click(function(){
alert( $j(this).text() ) ;
});
});
$("pp").style.display = 'none'; >
Código 3
El código es el siguiente:
jQuery.noConflict(); //Dar el control de la variable $ al prototipo.
js
jQuery(function ($){ //Usa jQuery
$("p").click(function(){ //Quédate con el método $
alerta( $(this).text()
});
});
$("pp"). .display = 'none'; //Usar prototipo
Código 4
El código es el siguiente:
jQuery.noConflict(); variable $ Poder dado a prototipo.js
(function($){ //Definir función anónima y establecer parámetros formales en $
$(function(){ //función anónima dentro $ son jQuery
$("p").click(function(){ //continúa con el método $
alert($(this).text());< / p>
});
});
})(jQuery); //Ejecuta la función anónima y pasa el parámetro real jQuery
$("pp").style.display = 'none'; //Usar prototipo
/********************** ******** ********** ********************************** ****/
jQuery(document).ready(function(){ //cede derechos tan pronto como se carga la página
jQuery.noConflict();
});
Además del método anterior, también podemos usar el segundo método para resolver el problema del conflicto, que también es la solución más tonta pero más efectiva: usar un espacio de nombres personalizado para evitar conflictos.
Por ejemplo, si necesitamos que el nombre del proyecto sea xmlas, entonces nuestro código original:
El código es el siguiente:
$('contentArea' ).show()
Se puede escribir de la siguiente forma:
El código es el siguiente:
XMLAS(' contentArea').show( )
3. En jquery En el código, cuando ocurre un conflicto, podemos usar el símbolo $, lo que requiere que agreguemos el siguiente código en el evento listo:
El código es el siguiente:
jQuery(document).ready(function ($) {
// Puedes usar $ de forma segura
}
); p>
Por supuesto, también puedes abreviarlo a la siguiente forma:
El código es el siguiente:
jQuery(function($){
/// El siguiente es el código que usa $
}) ;
Por lo tanto, el código completo implementado según el primer método es el siguiente:
El código es el siguiente:
// La solución completa para el conflicto entre la biblioteca jquery y otras bibliotecas
$.noConflict()
jQuery( function($) {
// El siguiente es el código para usar $ en el código jquery
});
// El siguiente es tu otro js. código de biblioteca
Por supuesto, también puede simplificar el código completo anterior. El código simplificado es el siguiente:
El código es el siguiente:
//. Código simplificado
$.noConflict()( function(){
// A continuación se muestra su código jquery usando $
}); p>// A continuación se muestra el código para otras bibliotecas