2009-01-29 5 views
8

Tengo problemas para que jQuery juegue bien con DokuWiki. ¿Alguien ya lo ha hecho con éxito?Can DokuWiki & jQuery juegan juntos?

Por el momento, incluidos jQuery reuslts en todo tipo de ruptura de la funcionalidad JS, y estoy teniendo problemas para localizar el origen del problema. ¿Cuáles son algunas cosas a tener en cuenta que tienden a entrar en conflicto con jQuery?

Respuesta

16

no estoy familiarizado con DokuWili personalmente, pero si algo se está rompiendo justo cuando se incluye jQuery entonces es probable que un conflicto con la variable '$' en jQuery. Puede utilizar el método noConflict de jQuery para conseguir alrededor de eso, más información aquí: http://docs.jquery.com/Using_jQuery_with_Other_Libraries

Véase también este post desbordamiento de pila: jQuery & Prototype Conflict

+6

yo sepa, los únicos elementos añadidos al espacio de nombres global son $ y jQuery (que son sinónimos). El uso de noConflict() reduce esto a jusy jQuery. Con suerte, DokuWiki no hace referencia a nada llamado jQuery en el espacio de nombres global;) –

6

Puede suele evitar cualquier conflicto de jQuery utilizando el siguiente justo después de cargar jquery.js:

jQuery.noConflict(); 

Entonces, no se sobreponen a la variable $, que es lo más a menudo el origen del problema en estos JS conflictos de biblioteca. Sin embargo, deberá llamar a las funciones de jQuery utilizando jQuery. Ejemplos:

jQuery(function() { ... }); // $(function ... 
jQuery(".klass").hide(); // $(".klass" ... 
0
jQuery.noConflict(); 

Luego puede usar jQuery("your element selector") o lo que sea en lugar de $. Para utilizar el más bonito $ en su código sólo envolver una función alrededor de ella, así:

beneficios
jQuery.noConflict() 
(function($) { 
    $("your element selector").whatever(); 
})(jQuery) 

adicionales descritos en las respuestas a What is the benefit of wrapping a jquery function in a closure?