【问题标题】:Cannot read property 'getContext' of null with a closure无法使用闭包读取 null 的属性“getContext”
【发布时间】:2016-01-05 09:20:20
【问题描述】:

通常在渲染画布时将代码包装在

$(function() { ....});

但是,我使用的代码在外部有一个闭包,因此它的格式类似于..

(function () {...})();

我无法使用 $ 修复画布 getContext 错误。有任何想法吗?

【问题讨论】:

  • 你能再给我们看一些代码吗?

标签: jquery canvas closures


【解决方案1】:

问题不是因为你使用了闭包或者你需要使用准备好的处理程序。

但问题是当你使用 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');

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-04
    • 1970-01-01
    • 1970-01-01
    • 2016-06-26
    • 2023-03-05
    • 1970-01-01
    相关资源
    最近更新 更多