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