av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

您的位置:首頁技術(shù)文章
文章詳情頁

javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?

瀏覽:114日期:2022-12-06 14:22:18

問題描述

canvas在響應(yīng)mousedown事件時,可以通過event.offsetX和offsetY來提取元素內(nèi)坐標(biāo),那我換成了touchstart后沒有offsetX和offsetY.該在哪里找到元素內(nèi)坐標(biāo)呢?

問題解答

回答1:

在我的 canvas 地圖庫 Sinomap 中處理的算法是這樣的(有改動):

// 注意這里是為 canvas 的 DOM 元素增加 Listener 而非 canvas 的 ctxdocument .getElementById(’my-canvas’) .addEventListener(’click’, updateHandler, false)function updateHandler (e) { // canvas 為你的 canvas ctx 變量 const box = canvas.getBoundingClientRect() const mouseX = (e.clientX - box.left) * canvas.width / box.width const mouseY = (e.clientY - box.top) * canvas.height / box.height console.log([mouseX, mouseY])}回答2:

touch事件 你需要 獲取 e.touches[0].pageX 或者其他坐標(biāo),至于touchend 的話,為了兼容性考慮,最好用e.changedTouches

回答3:

javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?javascript - 原生canvas中如何獲取到觸摸事件的canvas內(nèi)坐標(biāo)?

標(biāo)簽: JavaScript
相關(guān)文章:
主站蜘蛛池模板: 精品无人国产偷自产在线 | 国产高清一区二区 | 国产日韩欧美一区二区 | 欧美日韩专区 | 国产精品一区在线观看 | 午夜大片 | 久久激情网 | 黄色在线免费观看视频 | 五月婷婷影院 | 一区二区三区久久 | 日韩在线免费 | 日韩亚洲天堂 | 亚洲国产毛片 | 国产精品手机在线观看 | 自拍偷拍专区 | 国产又黄又爽视频 | 日本中文字幕在线视频 | 欧美日韩一区二区三区 | 亚洲精品在线看 | 手机看片1024日韩 | 伊人久久在线 | 一区二区视频在线 | 在线观看日韩视频 | 99久久精品国产毛片 | 99精品成人 | 国产精品免费一区二区三区 | 不卡av在线 | 亚洲一区二区在线 | 四虎新网址 | 久久久久国产视频 | 五月伊人网 | 中文字幕在线看片 | 91蜜桃在线观看 | 欧美日韩成人一区二区三区 | 色窝 | 99热视| 福利视频一区 | 成人一区二区在线 | 在线视频h | 午夜视频在线免费观看 | 久久久精品一区二区三区 |