在fireEvent上设置鼠标坐标

时间:2011-12-03 18:44:09

标签: javascript internet-explorer-8 internet-explorer-7

我正在尝试在IE8中的链接中模拟mousemove事件,但我不确定是否可以在事件中设置鼠标的坐标。到目前为止,这是我的代码:

function Handler()
{
    var dump = "";

    for(var i in event)
    {
        dump += ("" + i) + " => " + event[i] + "\n";
    }

    dumper.value = "";
    dumper.value = dump;
}

function Init()
{
    document.getElementById("link2").attachEvent("onmousemove", function(){Handler();});
}

function Emulate()
{
    var evt = document.createEventObject();
    evt.x = 10;
    evt.y = 10;
    document.getElementById("link2").fireEvent("onmousemove", evt);
}

通过调用Init()函数onload来附加事件。当我调用Emulate()时,坐标是光标的实际坐标。我做错了什么或者这是不可能的?

1 个答案:

答案 0 :(得分:0)

好的,我刚刚编辑了我的问题以反映我原来的失败代码(我发布的那个代码搞砸了)。解决方案是设置clientXclientYxy会自动获取分配给它们的值:

function Emulate()
{
    var evt = document.createEventObject();
    evt.clientX = 10;
    evt.clientY = 10;
    document.getElementById("link2").fireEvent("onmousemove", evt);
}