Получить ссылку на элемент Canvas из его контекста? - PullRequest
4 голосов
/ 26 августа 2010

В одной части моего кода я вызываю getContext('2d') для элемента canvas, чтобы создать объект CanvasRenderingContext2D.Этот объект продолжает передаваться по порядку от функции к функции, и на более позднем этапе кода было бы удобно иметь возможность получить ссылку на исходный элемент canvas dom, который создал данный контекст.Я не могу найти ничего в спецификации, которая бы обеспечивала это, но это похоже на то, что должно быть возможно.Идеи?

Я могу придумать множество обходных путей (передать элемент canvas вместе с его контекстом и т. Д.), Но мой код уже достаточно сложен, и я бы предпочел сделать это напрямую.

1 Ответ

10 голосов
/ 26 августа 2010

Итак, вы получили свой контекст:

var ctx = myCanvas.getContext('2d'); // the canvas' 2d context

позже вы всегда можете сделать:

ctx.canvas // the context's canvas, which in this case is the same as myCanvas

Из спецификации Canvas :

interface CanvasRenderingContext2D {

  // back-reference to the canvas
  readonly attribute HTMLCanvasElement canvas;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...