2009-09-07 12 views
7

generalmente uso esto en jQuery

$(document).ready(function() { 
    //stuff 
} 

yo estaba en un sitio que se utiliza mucho jQuery y lo llaman usando

$j(document).ready(function() { 
    //stuff 
} 

En este sitio comienzan casi todo con un j ..

function PostComment(form) { 
    form = $j(form); 
    $j('#CommentSubmitButton').hide(); 
    $j('#CommentInProgress').show(); 
    $j.post('/utils/ajaxhandler.aspx', form.serialize(), function(data) { 
    $j('#CommentInProgress').hide(); 
    $j('#CommentSubmitButton').show(); 
    }); 
} 

¿Es esta otra manera de hacerlo o depende de una versión diferente de jquery u otra?

Respuesta

11

Puede definir cómo desea llamar a la funcionalidad de jquery. Tal vez este sitio usa otra biblioteca, que se reserva el $, y por esa razón usó el alias $ j.

+0

es bueno saberlo, ¿puede simplemente "hacerlo" o necesita definirlo/configurarlo en otro lugar? – JasonDavis

+2

http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Overriding_the_.24-function – janoliver

+0

'$ j = jQuery.noConflict();' – gnarf

8

Esto es para evitar la colision con otras bibliotecas con:

jQuery.noConflict(); 

Por ejemplo, algunas librerías como prototipo también utilizan el signo $, y si al final utilizando tanto lo más probable ruptura. Si desarrolló sus funciones de jquery usando $ j, no lo hará.

+0

En el caso de este sitio, probablemente digan $ j = jQuery.noConflict(); - entonces $ j está disponible como $ de jQuery, y el significado anterior de $ (si lo hay) se sobrescribe. – jnylen

4

Es simplemente un método para evitar conflictos de nombres. Muchas bibliotecas de JavaScript (jQuery pasa a ser una de ellas) usa $ como acceso directo. Para obtener más información, consulte jQuery.noConflict()

2

Es definitivamente para evitar la colisión con otras bibliotecas. El más notorio de los cuales sería prototipo y scriptaculous.

+1

también mootools. :) – janoliver

Cuestiones relacionadas