当 ctrlKey标记为true 时,我试图在IE / FireFox浏览器中模拟鼠标点击事件。 我已经搜索了很多,但我找不到为什么我的代码不起作用。 应该发生什么: - triggerClick应该点击链接(在IE和FF中都没问题) - triggerClickCtrl应该在新的选项卡中打开链接(在IE中 - 它与buttom triggerClick相同,而在FF中它什么都不做)。 - triggerClickShift应该在新窗口中打开链接(在IE中 - 它与buttom triggerClick相同,在FF中它什么也不做)。 注意:此代码适用于chrome,但它在IE11和FireFox中不起作用。
有什么建议吗? 感谢。
function triggerClick()
{
simulateClick(false, false, false);
}
function triggerClickCtrl()
{
simulateClick(true, false, false);
}
function triggerClickShift()
{
simulateClick(false, true, false);
}
var simulateClick = function (ctrl, shift, isMiddle) {
var evt = document.createEvent('MouseEvents');
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 10, 10, ctrl, false, shift, false, isMiddle ? 1 : 0, null );
document.getElementById('bingLink').dispatchEvent(evt);
}

<!DOCTYPE html>
<html>
<p>
<p><a id = 'bingLink' href = "http://www.bing.com">Bing</a></p>
<button onclick=triggerClick()>triggerClick</button>
<button onclick=triggerClickCtrl()>triggerClickCtrl</button>
<button onclick=triggerClickShift()>triggerClickShift</button>
</body>
</html>
&#13;