Как использовать $ для jQuery внутри domready, когда прототип использует $ снаружи? - PullRequest
2 голосов
/ 07 октября 2010

Я не могу удалить прототип из среды JSF (RichFaces 3.3.3).И если я попробую noConflict и попытаюсь взять более $, это нарушит мою прикладную среду, потому что она тесно связана с прототипом.

Так есть ли способ, которым я могу сделать это:

jQuery(function() {
    /*
        some code that within this domready function 
        allows me to use $() within this function
        and not interfere with $ being used for prototype
        outside?
    */
});

Ответы [ 4 ]

7 голосов
/ 07 октября 2010

Да, он уже передан в качестве первого параметра вашему обработчику ready, просто используйте:

jQuery(function($) { 
  $("selector").doSomething();
});
//$ is still prototype here
1 голос
/ 07 октября 2010

Как правило, вы можете написать var $ = jQuery; для замены символа $ в одной функции.

В вашем конкретном случае вы также можете использовать первый параметр обратного вызова.

0 голосов
/ 18 октября 2010

Стандарт в моей рабочей группе:

jQuery.noConflict();
(function ($) {
    //Do jQuery stuff using $ here.
})(jQuery);
//Do prototype stuff using $ here
0 голосов
/ 07 октября 2010

, взяв эту ссылку в качестве ссылки, вы можете сделать что-то вроде этого:

jQuery(function($) { // like Nick Craver
});

и вызвать функции, которые вам нужны для jQuery:

var yourFunction = function(){
   var $ = this;
};

yourFunction.call(jQuery);

...

var yourFunction = (function($){

   return function() {

       // $ -> jQuery

   };

})(jQuery);

...

var yourFunction = (function(){

   var $ = this;

   return function() {

       // $ -> jQuery

   };

}).call(jQuery);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...