是否可以使用javascript模拟网页上的点击但不定义特定元素,而只是指定文档?
我本来希望做这样的事情,如果该地点恰好有一个链接,那么这将被按下:
function simulateClick(x, y)
{
var evt = window.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window,
x, y, x, y, 1, false, false, false, false, 0, null);
window.dispatchEvent(evt);
}
答案 0 :(得分:8)
window.dispatchEvent
应该可以解决问题。
<script>
function simulateClick() {
var evt = document.createEvent("Events");
evt.initEvent("click", true, true);
window.dispatchEvent(evt);
}
addEventListener('click',function(){alert('test');},false);
</script>
<button onclick="simulateClick();">Go</button>
或者......带有额外的MouseEvents信息:
<script>
function simulateClick() {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click", true, true, window, 1, 12, 345, 7, 220, false, false, true, false, 0, null);
window.dispatchEvent(evt);
}
addEventListener('click',function(){alert('test');},false);
</script>
<button onclick="simulateClick();">Go</button>
以上示例将导致点击window
时在button
上模拟点击。点击后会将window
添加到alert
,因此点击button
会间接触发alert
。
更多信息:http://www.howtocreate.co.uk/tutorials/javascript/domevents
答案 1 :(得分:0)
如果有人碰到这个寻找框架不可知方式来触发任何HTML和鼠标事件(并设置一些选项,如果需要),请看一下:How to simulate a mouse click using JavaScript? < / p>