繁体   English   中英

jQuery与原型冲突(noconflict不起作用)

[英]jQuery conflict with Prototype (noconflict doesnt work)

我使用jQuery v1.6.4 http://code.jquery.com/jquery-1.6.4.jsprototype

我正在尝试使用jQuery Tabs小部件,它与原型冲突。 结果,输入的上传按钮不起作用。

我试图解决此问题,但似乎没有用。

<script type="text/javascript">
  jQuery.noConflict();
  _ccsjQ(function() {
    _ccsjQ( "#tabs" ).tabs();
  });
</script>

有趣的是,如果我按F5键,则上传按钮有效,刷新时不起作用。

简单方法(IMHO)只需调用jQuery.noConflict()然后将任何jQuery代码包装在匿名函数中:

jQuery.noConflict();
(function($){
  // use your standard $(...) in here
})(jQuery);

另外,如果您不打算使用jQuery(...) ,则需要给jQuery指定一个新别名(例如var jq = jQuery.noConflict();然后使用jq(...) )。

两者都使用的示例:

    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/prototype/1.7.1.0/prototype.js"></script>
    <script type="text/javascript">
        var _cssjQ = jQuery.noConflict();
        _cssjQ('.foo').css('color','#f0f');
        (function($){
            $('.bar').css('color','#f0f');
        })(jQuery);
    </script>

和小提琴: http : //jsfiddle.net/kbWah/1/

1)首先定义Jquery

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

2)在Jquery之后和原型之前添加脚本

<script>
  var pjquery = jQuery.noConflict();//pjquery will represent jquery framework now on-wards
</script>

3)现在定义prototype.js

<script type = "text/javascript" src = "js/prototype.js" ></script>

现在要调用jquery的地方,请使用pjquery而不是$Jquery

暂无
暂无

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

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