2009-09-07 28 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 2009-09-07 23:29:18

+2

http://docs.jquery.com/Using_jQuery_with_Other_Libraries#Overriding_the_.24-function – janoliver 2009-09-07 23:30:55

+0

'$ j = jQuery.noConflict();' – gnarf 2009-09-08 01:29:39

8

这是为了避免colision与其他库有:

jQuery.noConflict(); 

例如像原型一些库也使用了$符号,如果你最终使用它都将最有可能突破。如果你使用$ j开发你的jquery函数,它不会。

+0

在这个网站的情况下,他们可能会说$ j = jQuery.noConflict(); - 然后$ j作为jQuery中的$可用,并且前面的$(如果有的话)的含义被覆盖。 – jnylen 2009-09-08 00:15:46

4

这只是一种避免命名冲突的方法。许多JavaScript库(jQuery碰巧就是其中之一)使用$作为快捷方式。欲了解更多信息,请参阅jQuery.noConflict()

2

它绝对避免与其他图书馆发生冲突。其中最臭名昭着的将是原型和scriptaculous。

+1

也是mootools。 :) – janoliver 2009-09-07 23:29:11

相关问题