Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 尝试从svg获取x和y_Javascript_Html_Svg - Fatal编程技术网

Javascript 尝试从svg获取x和y

Javascript 尝试从svg获取x和y,javascript,html,svg,Javascript,Html,Svg,所以我试着从图中的代码中得到点 我已经手工制作了这些牙齿,但这很费时,因为我会在乌鸦之后再去根上:( 我已经看过一些帖子了,但对我不起作用 我希望你能找到并纠正代码中的错误 var pt=svg.createSVGPoint();//为文档创建一次 功能警报协调(evt){ pt.x=evt.clientX; pt.y=evt.clientY; var cursorpt=pt.matrixTransform(svg.getScreenCTM().inverse()); console.lo

所以我试着从图中的代码中得到点 我已经手工制作了这些牙齿,但这很费时,因为我会在乌鸦之后再去根上:(

我已经看过一些帖子了,但对我不起作用 我希望你能找到并纠正代码中的错误

var pt=svg.createSVGPoint();//为文档创建一次
功能警报协调(evt){
pt.x=evt.clientX;
pt.y=evt.clientY;
var cursorpt=pt.matrixTransform(svg.getScreenCTM().inverse());
console.log(“+cursorpt.x+”,“+cursorpt.y+”);
}

变量svg似乎没有在任何地方定义。因此没有定义pt

我不知道这是否是全部问题,但首先在pt之前插入这个=

var svg = document.querySelector('svg');

正如Haworth所说,您必须声明svg,否则他不知道要在谁身上应用
createSVGPoint
,因此,向您的svg元素
id=“svg ElementID”
添加一个id并使用它

const svg=document.getElementById(“svg ElementID”);

const svg=document.getElementById(“svg ElementID”);
const pt=svg.createSVGPoint();//为文档创建一次
功能警报协调(evt){
pt.x=evt.clientX;
pt.y=evt.clientY;
var cursorpt=pt.matrixTransform(svg.getScreenCTM().inverse());
console.log(“+cursorpt.x+”,“+cursorpt.y+”);
}