猜测的标记和CSS。另外,我认为e
属性可能会改变每个浏览器。这适用于Firefox(9)。
CSS
#mye {
height: 25px;
width: 250px;
position: absolute;
background: #ddd;
}
标记
<div id="mye">Content</div>
的Javascript
var mymove = function (e) {
var x = 20,
y = 10,
mye = document.getElementById('mye');
mye.style.left = (parseInt(e.clientX) + x) + 'px';
mye.style.top = (parseInt(e.clientY) - y) + 'px';
};
// Don't forget to add this in an onload or ondomready.
document.getElementById('mye').onmousemove = mymove;
http://jsfiddle.net/3YdEa/6/
和便笺,杰弗里·斯威尼提到,连接到window.onmousemove
可能更常见:
window.onmousemove = mymove;
http://jsfiddle.net/3YdEa/7/
这里是Quirksmode鼠标事件位置财产的情况。但是,这已经过了几年了。
这是另一个StackOverflow question,当然还有jQuery's $.mousemove()
,这将消除浏览器之间的差异。
不要做'var event = new MouseEvent(e);'语句。函数参数已经是正确的事件对象。只要使用它。 – 2012-02-04 14:16:36