如何解决如何在单击java脚本的地方绘制圆圈
我不会js,我用python写的,但是我需要在网页上点击的位置画圆圈。所以,实际上我使用硒,我需要查看点击的位置。因为我没有点击dom元素,我点击坐标,有时Selenium点击错误,所以我想控制它。 我尝试了一些像下面这样的代码,当然它不起作用,我不知道为什么。所以我找到了 similar solution。它对我不起作用。所以我找不到突出点击的工作解决方案。
var canv = document.createElement('canvas');
canv.id = 'canvas';
document.body.appendChild(canv);
document.getElementById('canvas').appendChild(canv);
onclick = function showCoords(event) {
var x = event.clientX;
var y = event.clientY;
var radius = 5;
var canvas = document.getElementsByTagName('canvas');
var ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.arc(x,y,radius,40,2 * Math.PI);
ctx.stroke();
var coords = 'X coords: ' + x + ',Y coords: ' + y;
console.log(coords);
}
解决方法
您尝试将画布附加到画布
这有效
var canv = document.createElement('canvas');
canv.id = 'canvas';
document.body.appendChild(canv);
var ctx = canv.getContext('2d');
canv.addEventListener("click",function(event) {
var x = event.clientX;
var y = event.clientY;
var radius = 5;
ctx.beginPath();
ctx.arc(x,y,radius,40,2 * Math.PI);
ctx.stroke();
var coords = 'X coords: ' + x + ',Y coords: ' + y;
console.log(coords);
})
决定是
var myCanvas = document.createElement('canvas');
document.body.appendChild(myCanvas);
myCanvas.id = 'canvas';
myCanvas.style.position = 'absolute';
myCanvas.style.left = "0px";
myCanvas.style.top = "0px";
myCanvas.width = window.innerWidth;
myCanvas.height = window.innerHeight;
var ctx = myCanvas.getContext('2d');
myCanvas.addEventListener("click",function (event) {
var x = event.clientX;
var y = event.clientY;
ctx.fillStyle = "#2980b9";
ctx.beginPath();
ctx.arc(x,10,2 * Math.PI);
ctx.fill();
ctx.closePath();
setTimeout(function () { ctx.clearRect(0,myCanvas.width,myCanvas.height) },300);
})
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。