我有一个AJAX动作并试图同时使用Highchart,这就是我需要包含Prototype的原因。
这是我的代码,但没有显示Highchart图表:
<script src="https://ajax.googleapis.com/ajax/libs/prototype/1.7/prototype.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script src="http://code.highcharts.com/highcharts.js"></script>
<div id="contain" style="min-width: 310px; height: 400px; margin: 0 auto"></div>
以下是信息:http://jsfiddle.net/dhdSL/4/
当然,没有Prototype:http://jsfiddle.net/dhdSL/5/
就100%工作我尝试了jQuery.noConflict();
,但未显示高亮图http://jsfiddle.net/dhdSL/6/
并尝试$.noConflict();
并且没有显示高亮图http://jsfiddle.net/dhdSL/7/
我在Stack Overflow搜索答案,博客,Facebook,书籍,谷歌并花了六个月时间仍然没有找到答案。
我尝试在所有版本中更改Prototype但仍无法正常工作,并且未在控制台中显示错误。
根据一位朋友告诉我最后包含noConflict但未在谷歌浏览器浏览器中显示并显示错误:http://jsfiddle.net/dhdSL/8/
当打开错误时,我收到了另一个错误:
答案 0 :(得分:4)
将jQuery包装到一个匿名函数中,以保护变量免受Prototype的干扰。 http://jsfiddle.net/amyamy86/s6ms3/
(function($) {
$.noConflict();
$(function () {
$('#contain').highcharts({
....
});
});
}(jQuery));