当我分配给 element.style 时,为什么我的元素的样式没有改变?

Why isn't my element's style changing when I assign to element.style?

我正在尝试编写一个事件侦听器,通过在元素上设置 CSSStyleDeclaration 对象的属性来移动我移动鼠标的元素:

var overlay = document.getElementById('overlay');
document.body.addEventListener('mousemove',function moveOverlay(evt){
  overlay.style.left = evt.clientX;
  overlay.style.top = evt.clientY;
});

但是,在对 style 的 属性 的每次赋值运行后,值(在调试器中检查)不会改变 - 它仍然是默认的空字符串值 ''. overlay.style.color = 'blue' 之类的更改有效 - 我做错了什么?

CSS 样式规则只有在句法上有效时才会被分配为 属性 值 - 如果预期值对于所讨论的 CSS 规则无效,则该操作将被忽略。 CSS 属性的数字需要一个有效的单位后缀 - 在这种情况下,需要指定位置在 像素 中。请尝试 evt.clientX + 'px'