Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.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中的鼠标坐标是多少?_Javascript_Html_Dom_Coordinates - Fatal编程技术网

如何将输入字段放置在用户';JavaScript中的鼠标坐标是多少?

如何将输入字段放置在用户';JavaScript中的鼠标坐标是多少?,javascript,html,dom,coordinates,Javascript,Html,Dom,Coordinates,我试图在用户坐标旁边放置一个输入字段。 在这个过程中,我遇到了两个问题:首先,我希望输入框显示:在用户单击某个键之前,没有任何输入框,因为在单击该键并将框的显示设置为绝对后,它没有显示,所以它不起作用。其次,我尝试在没有事件的情况下获取用户坐标(我有这样的判断,因为我不希望用户被迫这样做(mousemove或任何其他鼠标事件) var-inputCommand=document.querySelector('.command'); 文档。添加了文本列表器(“按键”,按键功能); 功能按键功能(e

我试图在用户坐标旁边放置一个输入字段。 在这个过程中,我遇到了两个问题:首先,我希望输入框显示:在用户单击某个键之前,没有任何输入框,因为在单击该键并将框的显示设置为绝对后,它没有显示,所以它不起作用。其次,我尝试在没有事件的情况下获取用户坐标(我有这样的判断,因为我不希望用户被迫这样做(mousemove或任何其他鼠标事件)

var-inputCommand=document.querySelector('.command');
文档。添加了文本列表器(“按键”,按键功能);
功能按键功能(e){
inputCommand.style.display=“绝对”//这不起作用
inputCommand.style.top=“100px”//这应该替换为用户的坐标
inputCommand.style.left=“500px”//这应该替换为用户的坐标
}

据我所知,如果没有鼠标事件,您无法获取鼠标坐标

解决方案:使用
mousemove
事件将其位置存储到变量中

此外,您的输入没有出现,因为
绝对值
位置
的值,而不是
显示
(如注释中所述)

让mouseCoords={x:0,y:0};
document.addEventListener('mousemove',e=>{
mouseCoords={x:e.clientX,y:e.clientY};
});
const eInput=document.querySelector('input');
document.addEventListener('keypress',()=>{
eInput.style.top=`${mouseCoords.y}px`;
eInput.style.left=`${mouseCoords.x}px`;
eInput.style.display='block';
});
输入{
位置:绝对位置;
排名:0;
左:0;
显示:无;
}

请共享HTML代码。可能会有帮助
display=“absolute”
应该是
position=“absolute”