Javascript canvas.getContext()不是函数

Javascript canvas.getContext()不是函数,javascript,canvas,Javascript,Canvas,目前我正在研究如何将Coldfusion与Canvas交互。目前,由于javascript错误“canvas.getContext('2d');不是函数”,我被卡住了 画布必须位于div内: <div id="svgbasics" name="svgbasics"></div> 项目的其他信息(如果需要): 使用以下库:1.7.2/jquery.min.js,jquery.svg.js,base64.js和canvas2image.js $('svgbasics')

目前我正在研究如何将Coldfusion与Canvas交互。目前,由于javascript错误“canvas.getContext('2d');不是函数”,我被卡住了

画布必须位于div内:

<div id="svgbasics" name="svgbasics"></div>

项目的其他信息(如果需要):

  • 使用以下库:
    1.7.2/jquery.min.js
    jquery.svg.js
    base64.js
    canvas2image.js

  • $('svgbasics').svg('get').toSVG()返回如下内容:

试试:

var canvas = document.getElementById("canvasEl");
var context = canvas.getContext('2d');

其中,
canvasEl
是一个
。您的
$('#svgbasics').svg('get').toSVG()
可能不会返回HTML画布元素,
.getContext('2d')
必须返回该元素。

您将SVG画布与新的HTML5画布混淆了

他们是不同的动物。请阅读本文,了解Canvas和SVG之间的差异(有一个“Canvas和SVG之间的差异”部分):

从脚本标记中,我可以看到您正在使用jQuery SVG:

 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 <script type="text/javascript" src="jquery.svg.js"></script>


此页面显示了使用获取和操作SVG画布的示例:

您应该参考
元素,而不是

.svg('get').toSVG()?如果这个东西没有返回画布元素,你就无法获得任何上下文。请发布svgbasics div的全部内容。对不起,我对此非常陌生。在本例中,它返回如下内容:@adrian请用它更新您的问题,在注释中很难阅读。SVG和Canvas是两个不同的东西(一个是SVG没有
getContext()
)。这会给你更多关于这个主题的信息:嗯。。谢谢各位。我需要重新考虑我的选择,我可能会要求你对此发表意见。该项目基本上允许用户在图像上选择想要放置标记的区域。例如,地图将加载到屏幕上,任何用户触摸或单击地图时,都会在现场自动创建一个标记。类似于“X标记点”的东西。然后,系统会将标记的地图保存为图像,并上传到服务器,以存储关于我应该使用或尝试此项目的任何意见?
 <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
 <script type="text/javascript" src="jquery.svg.js"></script>