Баг UI или головного мозга?

  • Автор темы Автор темы LAPKI
  • Дата начала Дата начала

LAPKI

Продвинутый
26 Окт 2018
271
61
В общем, проблема такова, после drag&drop`а передвигаемый элемент и его наследники перестают отзываться на ивенты ( drag&drop, hover, activate и т.п.), но иногда все ивенты работают нормально.
 
Последнее редактирование:
В общем, проблема такова, после drag&drop`а передвигаемый элемент и его наследники перестают отзываться на ивенты ( drag&drop, hover, activate и т.п.), но иногда все ивенты работают нормально.
Неправильно что то сделал
 
  • Нравится
Реакции: Hexada
Неправильно что то сделал
Ставлю graggable true, подписываю на on drag start и on drag end, окно перемещается, полностью отрабатывают все ивенты, но происходит описанное выше, что вообще может вызвать такую проблему?
 
Ставлю graggable true, подписываю на on drag start и on drag end, окно перемещается, полностью отрабатывают все ивенты, но происходит описанное выше, что вообще может вызвать такую проблему?
Ты displayPanel какую панель устанавливаешь?
 
Ты displayPanel какую панель устанавливаешь?
я понял чем вызвана эта проблема, есть ли какие-то способы программно вызвать ивент OnDragEnd для определенного элемента? Просто я перемещаю объект через ивент перемещения его наследника, и старт перемещения вызывается, а конец нет, так объект и остается висеть в подвешанном состоянии блокируя любые действия.
 
я понял чем вызвана эта проблема, есть ли какие-то способы программно вызвать ивент OnDragEnd для определенного элемента? Просто я перемещаю объект через ивент перемещения его наследника, и старт перемещения вызывается, а конец нет, так объект и остается висеть в подвешанном состоянии блокируя любые действия.
Создавай новую панель такую же и её в displayPanel засовывай, а старую в этот момент скрывай, панель из displayPanel удаляется после ondragend, возможно поэтому все ломается
 
Создавай новую панель такую же и её в displayPanel засовывай, а старую в этот момент скрывай, панель из displayPanel удаляется после ondragend, возможно поэтому все ломается
все же панель не удаляется, сама панель и её содержимое остается, и даже эффекты из таблицы стилей не действуют, хотя фактически они в макете элементам через классы прописаны и должны отрабатывать, будто при драге элемент полностью блокируется со всем содержимым и при дропе разлочивается, но так как я фактически двигаю не тот элемент, который у меня стартует ивент, то при дропе возникают ошибки.
 
Создавай новую панель такую же и её в displayPanel засовывай, а старую в этот момент скрывай, панель из displayPanel удаляется после ondragend, возможно поэтому все ломается
В общем я отследил ошибку, не понимаю почему она происходит, ещё пару тестов сделаю, в общем, когда панель только создается - после драга перестает отвечать, у меня так же есть кнопка скрытия (добавляет класс с атрибутом visibility: collapse) после скрытия через эту кнопку и повторного отображения (убираю класс с атрибутом) она нормально перемещается и все работает кроме кнопки, которой я сворачивал, после чего, если я просто сделаю что-нибудь в игре ( похожу, кастану скиллы) начинает работать и эта кнопка и все работает нормально. При всех тесткейсах логи в консоли были одинаковые под каждый ивент
 
Проблема решена. Дело в том, что после drag'а на панель, которую перетаскиваем, (draggedPanel) становится фокус, который и перекрывает остальные элементы на этой панели, на дропе я просто ставлю фокус на дочернюю панель (за которую я перетаскиваю) и все работает отлично.
 
Реклама: