Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Послать событие из html в компонент (https://javascript.ru/forum/extjs/62445-poslat-sobytie-iz-html-v-komponent.html)

Infarch 11.04.2016 12:17

Послать событие из html в компонент
 
Здравствуйте.

Может быть подскажете, как послать евент из html в component?

Вот фидл: https://fiddle.sencha.com/#fiddle/18fs. В онклике вместо алерта надо сделать НЕЧТО, чтоб сработал листенер 'custom'. Пробовал this.fireEvent - получил "this.fireEvent is not a function".

nohuhu 11.04.2016 21:01

Вам нужно не послать событие из HTML, а ровно наоборот: поймать штатное HTML событие в коде Ext JS. Как раз для таких случаев существует механизм event delegates, см. документацию по addListener(). Там и пример есть.

См. также обновлённый fiddle. :)

Infarch 12.04.2016 10:46

Да, правда, так все работает. Спасибо за подсказку! Но чисто теоретически, возможно именно такое решение как я изначально мыслил? А то крутятся в голове некие мыслишки...

nohuhu 12.04.2016 22:36

Нестандартные события создать вполне возможно, но будет ли это работать во всех браузерах, большой вопрос. Тут со стандартными-то синтетическими событиями намучаешься, половину нужных вещей тестировать не получается...

Учтите также, что механизм ловли и распространения событий в Ext JS весьма сложный. Если вы не знаете его в деталях, то хитрые штуки чреваты очень трудно уловимыми усатыми гостями.


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