如何在JavaScript中执行EventListener的'click'事件

4
我在元素上有一个事件监听器myObject.addEventListener('click',this.doSomething,false)。当我点击鼠标时,它可以正常工作,但我无法弄清楚如何从JavaScript中触发单击事件。似乎对于div元素,element.click()不起作用?
我正在使用jQuery,并且我也尝试了trigger('click'),但是没有任何反应。
如何在JavaScript中执行EventListener?
更新:
这是示例代码http://jsbin.com/iniwi5/2

有很多完全相同的重复问题,例如如何触发JavaScript事件单击JavaScript:从JavaScript调用锚标记的单击事件等。 - maerics
这两个“重复项”都没有考虑到事件监听器。 - zjmiller
是的,这是针对事件监听器的特定情况。如果我使用普通的jQuery .click()监听器,代码就可以正常工作,但似乎addEventListener的行为不同。 - jpkeisala
3个回答

5
您可以使用jQuery绑定事件吗?
$(myobject).click(function() {

});

那么

myobject.trigger('click');

会以编程方式触发点击。

点击 div 其实是一种自定义事件,无法在本地执行。所以我同意 - 这是最简单的方法。 - Adam A
我同意这个解决方法,我无法想出如何使用事件监听器来实现它,所以我重构了我的代码以使用 .click()。 - jpkeisala

0

要触发通过addEventListener添加的点击事件监听器,您需要手动分派一个点击事件,使用dispatchEvent(适用于符合标准的浏览器)或fireEvent(适用于IE < 9)。


-1

试试这个:

myObject.click; // no `()`

或:

(myObject.click)();

myObject.click是错误的——如果存在click,则它应该是一个函数。第二个示例与myObject.click()相同,这仅对于某些类型的INPUT元素进行了标准化。您不能依赖于任意元素来支持它。 - John

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接