当 Jquery 仍然显示 $ 不是原型 js 的函数时,如何解决 Jquery noconflict



我正在开发一个页面,我将不得不在无冲突模式下使用Jquery以及side原型js。我已经多次成功地将jquery置于无冲突模式,但这次我仍然收到错误

类型错误: $ 不是函数原型.js:7126:29

这意味着Jquery noconflict仍然没有为prototypeJS发布美元变量。

我试过了

<script  src="js/jquery/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
var jQuery=$.noConflict();
</script>
<script src="js/prototype/prototype.js" type="text/javascript"></script>

得到了同样的错误,然后我去了

<script  src="js/jquery/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
$.noConflict();
</script>
<script src="js/prototype/prototype.js" type="text/javascript"></script>

最后是

<script  src="js/jquery/jquery-2.1.4.min.js"></script>
<script type="text/javascript">
jQuery.noConflict();
</script>
<script src="js/prototype/prototype.js" type="text/javascript"></script>

对于他们中的每一个,我仍然得到相同的错误。

当 Jquery 仍然显示 $ 不是带有原型 js 的函数时,如何解决 Jquery noconflict?

您正在尝试的代码是正确的。我可以看到这里唯一的问题是 由于某种原因,您正在加载的jQyery和原型文件或两个都没有加载。也许路径不正确。尝试使用下面代码片段中给出的 CDN,该代码片段按预期工作。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script type="text/javascript">
var $j=$.noConflict();
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prototype/1.7.3/prototype.js" type="text/javascript"></script>
<div id='mainDiv'>
This is a Div
</div>
<script type="text/javascript">
//prototype js code for selecting Div with id='mainDiv'
console.log($('mainDiv'));
//jQuery document ready function
$j(document).ready(function(){
	console.log('jQuery Document ready Function');
});
</script>

最新更新