Click()适用于IE,但不适用于Firefox

tga*_*ews 9 javascript firefox jquery internet-explorer

我的代码很简单但只适用于IE而不是Firefox.

$(document).ready(function(){
    $('li#first').click();
});
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

document.getElementById('first').click();
Run Code Online (Sandbox Code Playgroud)

但这也不起作用.

这是IE错误/功能还是click()其他浏览器不支持?

回应评论:

  1. 首先是一个带有ID的元素,不再有.
  2. 它是list元素上的onclick,它扩展了元素并将焦点移到了Google Map元素上.
  3. 在patrick的响应中运行代码(向元素添加另一个click事件)产生了一些有趣的行为.当$('li#first').click()仅运行新事件时,但是用鼠标物理点击该元素(新的和原始的).

提前致谢.

tga*_*ews 11

Firefox不支持click().

运行document.getElementById('first').click()返回以下错误click is not a function

所以我添加了一段代码来为每个元素添加click()功能.此代码后痛苦的一系列导致谷歌搜索发现此线程.

该代码段位于下方,只需在页面上包含一次:

HTMLElement.prototype.click = function() {
   var evt = this.ownerDocument.createEvent('MouseEvents');
   evt.initMouseEvent('click', true, true, this.ownerDocument.defaultView, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
   this.dispatchEvent(evt);
} 
Run Code Online (Sandbox Code Playgroud)