【发布时间】:2016-01-05 09:20:20
【问题描述】:
通常在渲染画布时将代码包装在
中$(function() { ....});
但是,我使用的代码在外部有一个闭包,因此它的格式类似于..
(function () {...})();
我无法使用 $ 修复画布 getContext 错误。有任何想法吗?
【问题讨论】:
-
你能再给我们看一些代码吗?
通常在渲染画布时将代码包装在
中$(function() { ....});
但是,我使用的代码在外部有一个闭包,因此它的格式类似于..
(function () {...})();
我无法使用 $ 修复画布 getContext 错误。有任何想法吗?
【问题讨论】:
问题不是因为你使用了闭包或者你需要使用准备好的处理程序。
但问题是当你使用 jQuery 方法并尝试结合核心 javascript 的 getContext 方法时会抛出一个错误,表明未定义函数。要解决此问题,您需要这样做:
var $canvas = $('#jCanvas'); //From jQuery object
$canvas[0] //To JavaScript :: [0] is first matched element
.getContext('2d');
现在,通过这种方式 getContext 被用于 javascript 元素并且工作正常。
但为简单起见,我不会将它们包装在 jQuery 中,而是使用 JavaScript:
var canvas = document.getElementById('canvas');
var context = canvas.getContext('2d');
【讨论】: