javascript - 在 mousemove 事件监听器函数主体中设置左侧位置不起作用

标签 javascript dom-events

我希望我的 div 的左位置值之一等于我的 mousemove event.clientX。尽管我的代码中的各个项目可以自行工作,但以下代码不起作用。为什么?

var shapeCanvas = document.getElementsByClassName("shape")[0];
shapeCanvas.style.left = '1px';  // works 

document.getElementsByClassName("body")[0]
.addEventListener("mousemove",function(e){
   shapeCanvas.style.left = e.clientX + "px"; // **doesn't work**
   console.log(e.clientX); // works also 
},false); 

最佳答案

您试图通过 body 类而不是标签来识别 body 元素。我将 eventListener 添加到窗口中,以获得更好的结果。这是您想要实现的目标吗?

var shapeCanvas = document.getElementsByClassName("shape")[0];
shapeCanvas.style.left = '1px';  // works 

window.addEventListener("mousemove",function(e){
   shapeCanvas.style.left = e.clientX + "px"; // **doesn't work**
   console.log(e.clientX); // works also 
},false); 
.shape{
  width:100px;
  height:100px;
  position:absolute;
  background:lightblue;
  }
<div class="shape">

</div>

关于javascript - 在 mousemove 事件监听器函数主体中设置左侧位置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38201932/

相关文章:

javascript - Iavascript\"\' 我很困惑

javascript - 如何使用 onDeviceReady 设置 AngularJS 应用程序并为 Cordova 初始化函数?

javascript - 如何将 while 循环中生成的值存储到变量以供以后在 JQuery 中使用

javascript - 简单的 D3 国家 map

javascript - 将 eventListener 添加到复选框

reactjs - "No overload matches this call"用于 removeEventListener 和 addEventListener

javascript - window.top.opener 不工作?

javascript - 将字符串,格式 10 :30AM, 转换为 JavaScript 中进行比较的类型

javascript - 使 JavaScript 代码适用于任何元素

javascript - 为什么表单的 onsubmit 函数只调用一次?