Как обработать canvas.onclick event.offset во внешнем. js файле? - PullRequest
0 голосов
/ 26 марта 2020

У меня есть базовый c canvas

<body>
    <canvas id="Canvas" width="500" height="704" style="border:1px solid #000000;"> </canvas>
</body>

, и я пытаюсь получить координаты события onClick внутри холста. Я нашел хороший пост о том, как сделать это с помощью event.offsetX ( ссылка на пост ), однако этот код работает, только когда скрипт js находится в том же файле. То, что я хотел бы сделать, это обработать координаты в функции, которая находится в отдельном файле "app. js". Я попытался сослаться на функцию, которую я хотел бы обработать данными (назовем ее «click ()») в свойстве onClick холста. Я не уверен, что это неправильный подход или я что-то пропустил, но это не сработало. Я просто выкладываюсь с javascript. В идеале мне бы хотелось, чтобы в файле html вообще не было javascript, но я буду доволен всем, что сработает.

Спасибо

1 Ответ

0 голосов
/ 26 марта 2020

это глобальный щелчок по элементу, но он по-прежнему фиксирует позицию щелчка внутри холста:

let ctx = mycanvas.getContext("2d");
if(ctx) mycanvas.addEventListener("click",event =>{console.log(event.offsetX);});
<canvas id="mycanvas" height="500" width="500"></canvas>
...