2009-09-07 3 views
7

Я обычно использую это в JQuery

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

Я был просто на сайте, который в значительной степени использует JQuery и они называют его помощью

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

На этом сайте они начинают почти все из с 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(); 
    }); 
} 

Это просто другой способ сделать это или зависит от другой версии jquery или другого?

ответ

11

Вы можете определить, как вы хотите вызвать функцию jquery. Возможно, этот сайт использует другую библиотеку, которая резервирует $, и по этой причине использует псевдоним $ j.

+0

Полезно знать, можете ли вы просто «сделать это» или вам нужно определить его/установить в другом месте? – JasonDavis

+2

http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Overriding_the_.24-функция – janoliver

+0

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

8

Это позволяет избежать colision с другими библиотеками с:

jQuery.noConflict(); 

Например, некоторые библиотеки прототипа также использовать знак $, и если вы в конечном итоге, используя как это будет, скорее всего, перерыв. Если вы разработали свои jquery-функции с помощью $ j, это не произойдет.

+0

В случае этого сайта они, вероятно, скажут $ j = jQuery.noConflict(); - тогда $ j доступен как $ из jQuery, а прежнее значение $ (если оно есть) перезаписывается. – jnylen

4

Это просто метод, позволяющий избежать конфликтов имен. Многие библиотеки JavaScript (один из них jQuery) использует $ как ярлык. Для получения дополнительной информации см. jQuery.noConflict()

2

Определенно, чтобы избежать столкновения с другими библиотеками. Самый известный из них будет прототипом и сценарием.

+1

также mootools. :) – janoliver

Смежные вопросы