JQuery и Прототип Конфликт - PullRequest
1 голос
/ 29 мая 2010

У меня проблемы с запуском двух файлов JavaScript на одной странице. Я использовал JQuery.noConflict () (http://api.jquery.com/jQuery.noConflict/), но не повезло.

        <script src="http://www.google.com/jsapi"></script>
        <script>
            google.load("prototype", "1.6.0.3",{uncompressed:false});
            google.load("scriptaculous", "1.8.1",{uncompressed:false});
        </script>
        <script src="js/jquery.tools.min.js"></script>
        <script type="text/javascript">
          $jQuery.noConflict();
          jQuery(document).ready(function($) {
                $("#download_now").tooltip({ effect: 'slide'});
          });

            function show_text() {
            new Ajax.Request('./new.php', {
                             method: 'post',
                             parameters: { userid: $('userid').value },
                             onSuccess: function(r) { $('update').update(r.responseText) }
                                 });    
            }

            document.observe("dom:loaded", function() {

            $('loading').hide();

            Ajax.Responders.register({
              onCreate: function() {
                new Effect.Opacity('loading',{ from: 1.0, to: 0.3, duration: 0.7 });        
                new Effect.toggle('loading', 'appear');


              },
              onComplete: function() {
                new Effect.Opacity('loading', { from: 0.3, to: 1, duration: 0.7 });
                new Effect.toggle('loading', 'appear');
              }
            });
            });         
            </script>

Ответы [ 3 ]

6 голосов
/ 29 мая 2010

Я считаю, $jQuery.noConflict(); в вашем коде является опечаткой. Используйте jQuery.noConflict();.

Другой метод решения вашей проблемы - замена всех $ переменных на jQuery (при условии, что $ ссылается на объект jQuery).

4 голосов
/ 29 мая 2010
2 голосов
/ 29 мая 2010

сначала загрузите jQuery, а затем вызовите этот код:

var $jq = jQuery.noConflict();
//Now you can use $jq in place of $ for jQuery;
$jq(".myButton").css("border","2px");

Загрузка других библиотек.

...