Size: a a a

Angular - русскоговорящее сообщество

2021 March 30

M

Maksim in Angular - русскоговорящее сообщество
что за редактор?
источник

DB

Dmitry Beryllo in Angular - русскоговорящее сообщество
Всем привет. Такая ситуация, нужно отлавливать клик над задизейбленой кнопкой. Пробовал сделать это за счет того, что обернул кнопку в див, на него повесил обработчик клика, но вопреки моим расчетам это не сработало ) Рядом с кнопкой клик по внешнему элементу ловится ) А над самой кнопкой, если она дизейблед, нивкакую )
Почему так происходит и как можно решить вопрос?
источник

M

Maksim in Angular - русскоговорящее сообщество
Dmitry Beryllo
Всем привет. Такая ситуация, нужно отлавливать клик над задизейбленой кнопкой. Пробовал сделать это за счет того, что обернул кнопку в див, на него повесил обработчик клика, но вопреки моим расчетам это не сработало ) Рядом с кнопкой клик по внешнему элементу ловится ) А над самой кнопкой, если она дизейблед, нивкакую )
Почему так происходит и как можно решить вопрос?
так заложено в браузере, клик по disabled элементу не ловится. Можно сверху "наложить" невидимый псевдо элемент через css :before
источник

YS

Yura Shtyba in Angular - русскоговорящее сообщество
наверное ивент не всплывает
источник

M

Maksim in Angular - русскоговорящее сообщество
или добавить disabled элементу pointer-events: none чтобы клик проходил насквозь
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Dmitry Beryllo
Всем привет. Такая ситуация, нужно отлавливать клик над задизейбленой кнопкой. Пробовал сделать это за счет того, что обернул кнопку в див, на него повесил обработчик клика, но вопреки моим расчетам это не сработало ) Рядом с кнопкой клик по внешнему элементу ловится ) А над самой кнопкой, если она дизейблед, нивкакую )
Почему так происходит и как можно решить вопрос?
а какая задача у Вас там?) зачем клик не недоступную кнопку?
источник

O

Ostap in Angular - русскоговорящее сообщество
После обновления ангуляра ng build зависает на этапе
Generating browser application bundles (phase: building)...
Где то можно посмотреть, какой скрипт стопорит выполнение?
источник

DB

Dmitry Beryllo in Angular - русскоговорящее сообщество
Oleg Safonov
а какая задача у Вас там?) зачем клик не недоступную кнопку?
задача - если юзер не заполнил форму и нажимает - продолжить, нужно засветить ошибки на всех реквайред инпутах )
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Dmitry Beryllo
задача - если юзер не заполнил форму и нажимает - продолжить, нужно засветить ошибки на всех реквайред инпутах )
Ну не дизейблите кнопку просто)
источник

M

Maksim in Angular - русскоговорящее сообщество
а с чего юзеру на disabled кнопку нажимать?) плохой UX (и браузер палки в колеса не просто так ставит).

Лучше делать ее disabled когда форма .submitted, и показывать ошибки при том же условии.
а в функцию которая вызывается на сабмите добавить проверку, что если форма не валидна, то ничего не делать.
источник

DB

Dmitry Beryllo in Angular - русскоговорящее сообщество
Oleg Safonov
Ну не дизейблите кнопку просто)
просто стилями сделать типа она дизейблед, а уже по сабмиту инфалидировать форму?
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Dmitry Beryllo
просто стилями сделать типа она дизейблед, а уже по сабмиту инфалидировать форму?
а зачем вообще как то её менять? Если подразумевается, что пользователь её нажимает, то зачем её как то менять, чтоб непонятно было, что можно нажать? Я бы не стал нажимать на отключенную кнопку, например)
источник

DB

Dmitry Beryllo in Angular - русскоговорящее сообщество
Maksim
а с чего юзеру на disabled кнопку нажимать?) плохой UX (и браузер палки в колеса не просто так ставит).

Лучше делать ее disabled когда форма .submitted, и показывать ошибки при том же условии.
а в функцию которая вызывается на сабмите добавить проверку, что если форма не валидна, то ничего не делать.
в принципе вариант, спасибо )
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Maksim
а с чего юзеру на disabled кнопку нажимать?) плохой UX (и браузер палки в колеса не просто так ставит).

Лучше делать ее disabled когда форма .submitted, и показывать ошибки при том же условии.
а в функцию которая вызывается на сабмите добавить проверку, что если форма не валидна, то ничего не делать.
плюсую, но 'ничего не делать' - тоже не лучшее решение)
источник

DB

Dmitry Beryllo in Angular - русскоговорящее сообщество
Oleg Safonov
а зачем вообще как то её менять? Если подразумевается, что пользователь её нажимает, то зачем её как то менять, чтоб непонятно было, что можно нажать? Я бы не стал нажимать на отключенную кнопку, например)
по условию - пока форма не заполнена, кнопка серая, типа дизейблед
источник

M

Maksim in Angular - русскоговорящее сообщество
Oleg Safonov
плюсую, но 'ничего не делать' - тоже не лучшее решение)
я имею в виду что нужна будет проверка в onSubmit функции, чтобы запрос не отправлять пока форма не валидна
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Dmitry Beryllo
по условию - пока форма не заполнена, кнопка серая, типа дизейблед
Ну тут вопрос к постановке задачи.
Выше корректно сказали, что это плохой ux так делать
источник

DB

Dmitry Beryllo in Angular - русскоговорящее сообщество
боюсь что если я прийду и скажу что у нас плохой ux, меня не поймут )
источник

TP

Taras Postolyuk in Angular - русскоговорящее сообщество
Taras Savchenko
дизейблишь панель, добавляешь референс на нее (типа #panel), создаешь свою кнопку и к ней добавляешь (click)="panel.toggle()"

может можно убрать eventListener как-то, вместо дизейблинга, но я не знаю как
Спасибо ща попробую
источник

OS

Oleg Safonov in Angular - русскоговорящее сообщество
Dmitry Beryllo
боюсь что если я прийду и скажу что у нас плохой ux, меня не поймут )
Ну эту идею нужно донести, я думаю, конечно, непонятно, как у Вас там всё устроено)
В крайнем случае - имитируйте задизейбленную кнопку стилями
источник