HTMLElement.click() 不会触发预期的事件

HTMLElement.click() would not fire an expected event

我尝试使用一些简单的本机 javascript 代码,以模拟用户单击 script.google.com:

处的按钮
document.querySelector("#runButton").click();

当我这样做时,什么也没有发生,但是当我真正点击这个元素时 (#runButton),我可以看到一个弹出窗口出现。

这可能与 #runButton 是 div 的事实有关, 因为当我对 anchor() 元素做同样的事情时,它起作用了。

有什么想法可以更好地模拟此点击吗? google 应用程序脚本编辑器的某些特定内容阻止我这样做?

看起来 Google Apps 脚本编辑器抑制了界面按钮上的编程 click 事件,这里是在这些按钮上模拟 "click" 的解决方案:

function doClick(n)
{
    e = document.createEvent("MouseEvents");  
    e.initEvent("mousedown", true, false);  
    n.dispatchEvent(e,true); 
    e = document.createEvent("MouseEvents");  
    e.initEvent("mouseup", true, false);  
    n.dispatchEvent(e,true);
}

// do the click
doClick(document.getElementById("runButton"));