日期:2014-05-16  浏览次数:20368 次

JS如何模拟鼠标点击X,Y坐标
现在我有个窗口坐标X,Y
如何利用JS点击该坐标

------解决方案--------------------
js无法实现鼠标移动。。
------解决方案--------------------
坐标点没法点击,但是页面节点可以触发点击事件
------解决方案--------------------
不能实现的
------解决方案--------------------
楼主,你在那一点上有触发的事件吗?
------解决方案--------------------
探讨

引用:

js无法实现鼠标移动。。

不是让鼠标移动 我是想点击某个点,不用鼠标点击,直接写JS点击

------解决方案--------------------
你点击那个坐标想实现什么?
------解决方案--------------------
嘿嘿,flash 动画 啊!
------解决方案--------------------
楼主的想法有问题。
什么需求?需要鼠标自动点击?

或许换个思路,问题就解决了
------解决方案--------------------
且不说JS无法实现鼠标点击坐标的功能,就算能够实现,你点一个坐标有什么用?那个坐标处有什么控件或者元素?
------解决方案--------------------
感觉无法实现点击
可以触发事件现实点击的效果

------解决方案--------------------
只是触发点击的事件函数有可能,至于要完全等同鼠标点击一下,js是绝对不行的,
windows是响应输入是基于消息的,发出一个鼠标左键按下的消息就可以了,与真实的点击效果等同,但js是不可能到消息层次的(C++可以(-_-))
------解决方案--------------------
谁说不能实现??
最简单的办法,遍历dom元素,记录每个元素的坐标,找到离(x,y)最近的且z-index最大一个元素,模拟这个dom元素的点击就可以啦!~~。。。。
------解决方案--------------------
JScript code
<!DOCTYPE html>
<html>
    <body>
        <script>
            function imitateClick(oElement, iClientX, iClientY) {
                var oEvent;
                if (document.createEventObject) { //For IE
                    oEvent = document.createEventObject();
                    oEvent.clientX = iClientX;
                    oEvent.clientY = iClientY;
                    oElement.fireEvent("onclick", oEvent);    
                } else {
                    oEvent = document.createEvent("MouseEvents");
                    oEvent.initMouseEvent("click", true, true, document.defaultView, 0, 0, 0, 
                                            iClientX, iClientY/*, false, false, false, false, 0, null*/); 
                    oElement.dispatchEvent(oEvent);
                }
            }
            var body = document.body;
            body.onclick = function(event) {
                alert("clicked at (" + event.clientX + "," + event.clientY + ")");
            };
            imitateClick(body, 100, 100);
        </script>
    </body>
</html>