繁体   English   中英

jQuery和原型冲突

[英]Jquery and Prototype Conflict

我在同一页面上运行两个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>

我相信$jQuery.noConflict(); 在您的代码中是一个错字。 使用jQuery.noConflict();

解决问题的另一种方法是用jQuery替换所有$变量(前提是$引用了jQuery对象)。

首先加载jQuery,然后调用以下代码:

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

加载其他库。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM