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
to alert
单击时,因此单击button
会间接触发alert
.
更多信息:http://www.howtocreate.co.uk/tutorials/javascript/domevents