JS如何模拟鼠标点击X,Y坐标
现在我有个窗口坐标X,Y
如何利用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>