久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

javascript - 用 canvas 實(shí)現(xiàn)電子簽名,定位鼠標(biāo)在 canvas 中 坐標(biāo)

瀏覽:108日期:2022-12-23 18:34:02

問題描述

嘗試用 canvas 實(shí)現(xiàn)電子簽名時(shí),不能準(zhǔn)確獲取鼠標(biāo)在 canvas 中的坐標(biāo)。

let canvas = document.getElementById('canvas');let cxt = canvas.getContext(’2d’);canvas.onmousedown = function(ev){ var ev = ev || window.event; cxt.moveTo(ev.clientX-canvas.offsetLeft,ev.clientY-canvas.offsetTop); document.onmousemove = function(ev){ var ev = ev || window.event; cxt.lineTo(ev.clientX-canvas.offsetLeft,ev.clientY-canvas.offsetTop); cxt.stroke(); }; document.onmouseup = function(){ document.onmousemove = null; document.onmouseup = null; };};

用 ev.clientY 獲取了鼠標(biāo)的坐標(biāo),但是 canvas.offsetTop 獲取的是 距離父元素的高度。而 canvas 在一個(gè)有滾動條的表單中,所以無法準(zhǔn)確定位。

謝謝!

問題解答

回答1:

已經(jīng)找到解決方法了。直接調(diào)用 canvas.getBoundingClientRect() 可以獲取到 canvas 相對于視窗到位置。

標(biāo)簽: JavaScript
主站蜘蛛池模板: 永清县| 平度市| 元氏县| 房产| 宣汉县| 屏南县| 雷波县| 河池市| 莲花县| 海安县| 嘉善县| 都昌县| 常宁市| 临桂县| 泽普县| 张家港市| 林西县| 郸城县| 章丘市| 高陵县| 凤凰县| 阳江市| 晋中市| 清流县| 阿勒泰市| 浏阳市| 凤阳县| 咸阳市| 罗田县| 惠安县| 大邑县| 濮阳县| 盐山县| 溧水县| 遂平县| 洛阳市| 邯郸县| 永清县| 鹿邑县| 美姑县| 河东区|