使用文档上的javascript模拟单击

时间:2010-05-23 07:11:04

标签: javascript layout html5

是否可以使用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);
}

2 个答案:

答案 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>