首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >onmousemove事件

onmousemove事件
EN

Stack Overflow用户
提问于 2012-02-04 13:54:14
回答 1查看 2.6K关注 0票数 0

我希望在onmousemove事件上使用javascript更改左和顶样式元素,但它不起作用。

我的onmousemove事件代码:

代码语言:javascript
复制
function mymove(e)
{
var event=new MouseEvent(e);
    x = 20;
    y = 10;     

    document.getElementById('mye').style.left = event.pageX + x+'px' ;
    document.getElementById('mye').style.top = event.pageY - y+'px';


    }
EN

回答 1

Stack Overflow用户

发布于 2012-02-04 14:25:49

猜测标记和CSS。此外,我认为每个浏览器的e属性可能会发生变化。这在Firefox (9)中是可行的。

CSS

代码语言:javascript
复制
#mye {
    height: 25px;
    width: 250px;
    position: absolute;
    background: #ddd;
}

标记

代码语言:javascript
复制
<div id="mye">Content</div>

Javascript

代码语言: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/

请注意,正如Jeffrey所提到的,附加到window.onmousemove可能更常见:

代码语言:javascript
复制
window.onmousemove = mymove;

http://jsfiddle.net/3YdEa/7/

下面是鼠标事件位置属性情况下的克斯默德。不过,这是几年前的事了。

这是另一个StackOverflow问题,当然还有$.mousemove(),它将消除浏览器之间的差异。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9141368

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档