Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не работает триггер на click() (https://javascript.ru/forum/events/35748-ne-rabotaet-trigger-na-click.html)

platedz 20.02.2013 23:56

Не работает триггер на click()
 
Почему не работает такой код и как реализовать

<div id="al">al</div>
<div id="as">as</div>
<script>
function al(){ alert("alert");}
document.getElementById("al").onclick = function(){ al();}
document.getElementById("as").onclick = function(){ document.getElementById("al").click(); }
</script>

nerv_ 21.02.2013 00:02

http://learn.javascript.ru/custom-events

danik.js 21.02.2013 00:13

Цитата:

Сообщение от platedz
Почему не работает такой код и как реализовать

Надо же. А у меня работает:
<div id="al">al</div>
<div id="as">as</div>
<script>
function al(){ alert("alert");}
document.getElementById("al").onclick = function(){ al();}
document.getElementById("as").onclick = function(){ document.getElementById("al").click(); }
</script>

platedz 21.02.2013 02:55

danik.js, либо Вы не туда нажали, либо не так меня поняли. При клике на <div id="as">as</div> не происходит вызова фукнции al(). Функция вызывается только при клике на <div id="al">al</div>
nerv_, по ссылке я не нашел ответ на свой вопрос. В основном там написано про Jquery, единственное что написано, "При trigger не сработают обработчики, назначенные через addEventListener". У меня не addEventListener, и не trigger. Хотя из статьи я не понял, почему.

danik.js 21.02.2013 09:43

platedz, :-/ Специально проверил во всех браузерах - везде работает. Проверял в Chrome, Firefox, Opera, IE10, IE9, IE8, Safari.

Если вы не на одном из этих браузеров, тогда на чем вы? Не работает только под Safari5 на винде.

platedz 21.02.2013 13:23

Да и правда. Работает. Проверил везде, кроме сафари. Но в моем хроме почему-то не работает, может у меня какая-то особенная версия (18.0.1025.1634)

danik.js 21.02.2013 13:37

Цитата:

Сообщение от platedz
и как реализовать

А что реализовать то?

platedz 21.02.2013 13:51

Так вот этот код, в целом. Просто стал триггер делать, а он не сработал

platedz 21.02.2013 13:52

Т.е. нужно чтобы при клике на элемент с одним id срабатывал клик и фукнция с другим Id. А консоль хрома мне выдает следующую ошибку

Uncaught TypeError: Object #<HTMLDivElement> has no method 'click'
document.getElementById.onclick

danik.js 21.02.2013 14:39

Цитата:

Сообщение от platedz
Object #<HTMLDivElement> has no method 'click'

Очень странно. Потому как как раз таки имеет:
alert(typeof HTMLDivElement.prototype.click)

Цитата:

Сообщение от platedz
Т.е. нужно чтобы при клике на элемент с одним id срабатывал клик и фукнция с другим Id

Нельзя ли прямо вызвать нужную функцию. Зачем эмулировать клик то?


Часовой пояс GMT +3, время: 18:48.