Как я могу выполнить EventListener 'click' из JavaScript - PullRequest
4 голосов
/ 24 июня 2011

У меня есть прослушиватель событий myObject.addEventListener('click',this.doSomething,false) для элемента. Он отлично работает, когда я делаю щелчок мышью, но я не могу понять, как вызвать клик из JavaScript. Похоже, element.click() не работает для divs?

Я использую jQuery, и я также пытался trigger('click'), но ничего не происходит.

Как я могу в JavaScript выполнить EventListener?

Обновление:

Вот пример кода http://jsbin.com/iniwi5/2

Ответы [ 4 ]

5 голосов
/ 24 июня 2011

Можете ли вы связать событие, используя вместо этого jQuery?

$(myobject).click(function() {

});

Тогда

myobject.trigger('click');

будет программно вызывать щелчок.

0 голосов
/ 10 мая 2012

Для запуска прослушивателя события щелчка, добавленного с помощью addEventListener, необходимо вручную отправить событие щелчка, используя либо dispatchEvent (для браузеров, соответствующих стандартам), либо fireEvent (для IE <9). </p>

0 голосов
/ 24 июня 2011

Попробуйте это:

myObject.click; // no `()`

OR

(myObject.click)();
0 голосов
/ 24 июня 2011

Было бы так, основываясь на коде, который вы предоставили:

var obj = document.getElementById('hello');

if (obj.addEventListener) {
    obj.addEventListener('click', function () {foo()},false);
} else {
    obj.attachEvent ('onclick', function () {foo()});
}

foo Существо:

function foo(){
    alert("foo");
}

Ссылка: http://help.dottoro.com/ljeuqqoq.php

Редактировать: Исправлена ​​ошибка для браузеров Chrome и не IE ... Shuold теперь работает в обоих.

...