Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.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_Jquery_Html - Fatal编程技术网

Javascript 如何将元素移动到鼠标位置

Javascript 如何将元素移动到鼠标位置,javascript,jquery,html,Javascript,Jquery,Html,当用户单击文档时,我试图移动一个元素,但是,该元素正在移动到偏移位置。单击时如何删除偏移?我试图让元素移动到鼠标的准确位置,我该怎么做?我是否需要使用.offset()函数?如果是的话,我会怎么做 HTML Player Name: <input type="text" name="name" id="name" /><br> <button name="submt" id="meh">Submit</button> 设置其绝对位置并使用左偏移

当用户单击文档时,我试图移动一个元素,但是,该元素正在移动到偏移位置。单击时如何删除偏移?我试图让元素移动到鼠标的准确位置,我该怎么做?我是否需要使用
.offset()
函数?如果是的话,我会怎么做

HTML

Player Name:  <input type="text" name="name" id="name" /><br>
<button name="submt" id="meh">Submit</button>

设置其绝对位置并使用左偏移和上偏移(而不是边距)控制它可能要容易得多:

$(文档).ready(函数(){
$(此)。在(“单击”)上,函数(e){
var x=e.pageX;
var y=e.pageY;
var el=$(“#meh”);
el.css(‘位置’、‘绝对’);
el.css(“左”,x);
el.css(“顶部”,y);
})
})

玩家姓名:


提交
使用左侧和顶部,同时确保使用绝对或相对定位:

$(document).ready(function(){
    $(this).on("click", function(e){
        var x = e.pageX;
        var y = e.pageY;
        $("#meh").css("left", x);
        $("#meh").css("top", y);
    })
})

你可以发布这些元素的css吗?我没有任何css样式设置。给它一个绝对位置并更改jquerycss属性修复了它。
$(document).ready(function(){
    $(this).on("click", function(e){
        var x = e.pageX;
        var y = e.pageY;
        $("#meh").css("left", x);
        $("#meh").css("top", y);
    })
})
<div class="soccer-field">
<div class="ball"></div>
</div>
var container = document.querySelector(".soccer-field");
container.addEventListener('click', function (event) {
  var x = event.clientX;
  var y = event.clientY;
  var ball = document.querySelector(".ball");
  ball.style.position = "absolute";
  ball.style.left = `${x}px`;
  ball.style.top = `${y}px`;
})