[英]KnockoutJS & jQuery(noConflict) & prototype.js = conflict?
[英]jQuery conflict with Prototype (noconflict doesnt work)
我使用jQuery v1.6.4 http://code.jquery.com/jquery-1.6.4.js和prototype 。
我正在尝试使用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.