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

LAPKI

Продвинутый
26 Окт 2018
271
61
В общем, проблема такова, после drag&drop`а передвигаемый элемент и его наследники перестают отзываться на ивенты ( drag&drop, hover, activate и т.п.), но иногда все ивенты работают нормально.
 
Последнее редактирование:

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
В общем, проблема такова, после drag&drop`а передвигаемый элемент и его наследники перестают отзываться на ивенты ( drag&drop, hover, activate и т.п.), но иногда все ивенты работают нормально.
Неправильно что то сделал
 
  • Нравится
Реакции: Hexada

LAPKI

Продвинутый
26 Окт 2018
271
61
Неправильно что то сделал
Ставлю graggable true, подписываю на on drag start и on drag end, окно перемещается, полностью отрабатывают все ивенты, но происходит описанное выше, что вообще может вызвать такую проблему?
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
Ставлю graggable true, подписываю на on drag start и on drag end, окно перемещается, полностью отрабатывают все ивенты, но происходит описанное выше, что вообще может вызвать такую проблему?
Ты displayPanel какую панель устанавливаешь?
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Ты displayPanel какую панель устанавливаешь?
я понял чем вызвана эта проблема, есть ли какие-то способы программно вызвать ивент OnDragEnd для определенного элемента? Просто я перемещаю объект через ивент перемещения его наследника, и старт перемещения вызывается, а конец нет, так объект и остается висеть в подвешанном состоянии блокируя любые действия.
 

I_GRIN_I

Друзья CG
15 Мар 2016
1,335
105
я понял чем вызвана эта проблема, есть ли какие-то способы программно вызвать ивент OnDragEnd для определенного элемента? Просто я перемещаю объект через ивент перемещения его наследника, и старт перемещения вызывается, а конец нет, так объект и остается висеть в подвешанном состоянии блокируя любые действия.
Создавай новую панель такую же и её в displayPanel засовывай, а старую в этот момент скрывай, панель из displayPanel удаляется после ondragend, возможно поэтому все ломается
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Создавай новую панель такую же и её в displayPanel засовывай, а старую в этот момент скрывай, панель из displayPanel удаляется после ondragend, возможно поэтому все ломается
все же панель не удаляется, сама панель и её содержимое остается, и даже эффекты из таблицы стилей не действуют, хотя фактически они в макете элементам через классы прописаны и должны отрабатывать, будто при драге элемент полностью блокируется со всем содержимым и при дропе разлочивается, но так как я фактически двигаю не тот элемент, который у меня стартует ивент, то при дропе возникают ошибки.
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Создавай новую панель такую же и её в displayPanel засовывай, а старую в этот момент скрывай, панель из displayPanel удаляется после ondragend, возможно поэтому все ломается
В общем я отследил ошибку, не понимаю почему она происходит, ещё пару тестов сделаю, в общем, когда панель только создается - после драга перестает отвечать, у меня так же есть кнопка скрытия (добавляет класс с атрибутом visibility: collapse) после скрытия через эту кнопку и повторного отображения (убираю класс с атрибутом) она нормально перемещается и все работает кроме кнопки, которой я сворачивал, после чего, если я просто сделаю что-нибудь в игре ( похожу, кастану скиллы) начинает работать и эта кнопка и все работает нормально. При всех тесткейсах логи в консоли были одинаковые под каждый ивент
 

LAPKI

Продвинутый
26 Окт 2018
271
61
Проблема решена. Дело в том, что после drag'а на панель, которую перетаскиваем, (draggedPanel) становится фокус, который и перекрывает остальные элементы на этой панели, на дропе я просто ставлю фокус на дочернюю панель (за которую я перетаскиваю) и все работает отлично.
 
Реклама: