2

因此,经过一些研究,这应该可以在 VS2012 中本地工作,但似乎不是。

function myFunc(canvasId) {
  var canvas = document.getElementById(canvasId);
  var ctx = canvas.getContext("2d");

}

在这个函数中,如果我输入“canvas”。我得到了我所期望的所有智能感知。如果我输入“ctx”。我什么都得不到。只是文件中所有标识符的列表以及来自 Visual Studio 的“抱歉”消息。这是预期的吗?在 ctx 对象上获得智能感知会非常有帮助,因为它具有附加的所有画布绘图功能。

还尝试如下在 myFunc 之外声明 ctx,效果相同。

var ctx;    

function myFunc(canvasId) {
  var canvas = document.getElementById(canvasId);
  ctx = canvas.getContext("2d");

}
4

1 回答 1

0

我也发生了同样的事情。就我而言,我忘记了引号(document.getElementById(myCanvas),“myCanvas”是我的画布元素的 id)。在我添加引号 (document.getElementById('myCanvas')) 后,出现了 ctx 的智能感知。检查变量“canvasId”的值是否有效(非空、未定义等)。

于 2015-11-12T20:34:12.383 回答