2009-09-07 19 views
7

Io in genere uso questo in jQuery

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

ero solo su un sito che utilizza pesantemente jQuery e lo chiamano utilizzando

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

Su questo sito cominciano quasi tutto 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(); 
    }); 
} 

Questo è solo un altro modo di farlo o dipende da una versione diversa di jquery o altro?

risposta

11

È possibile definire, come si desidera chiamare la funzionalità jQuery. Forse questo sito usa un'altra libreria, che riserva $, e per questo motivo usa l'alias $ j.

+0

buono a sapersi, puoi semplicemente "farlo" o devi definirlo/impostarlo da qualche altra parte? – JasonDavis

+2

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

+0

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

8

Questo per evitare colision con altre biblioteche con:

jQuery.noConflict(); 

Per esempio alcune librerie come prototipo anche utilizzare il simbolo $, e se si finisce per utilizzare sia esso molto probabilmente pausa. Se hai sviluppato le tue funzioni jQuery usando $ j, non lo farai.

+0

Nel caso di questo sito, probabilmente dicono $ j = jQuery.noConflict(); - quindi $ j è disponibile come $ da jQuery e il significato precedente di $ (se presente) viene sovrascritto. – jnylen

4

È semplicemente un metodo per evitare conflitti di denominazione. Molte librerie JavaScript (jQuery sembra essere una di queste) usa $ come scorciatoia. Per ulteriori informazioni, vedere jQuery.noConflict()

2

Sicuramente per evitare la collisione con altre librerie. Il più noto dei quali sarebbe prototipo e scriptaculous.

+1

anche mootools. :) – janoliver

Problemi correlati