Да, но важно не забывать, что для правильной работы требуется свап свойств, которые скрывают перетаскиваемый элемент от elementFromPoint, аналогичный тому, что я указал в своем предложении решения.
Дело в том, что т.к. мы пишем более общую функцию, которая может быть переиспользована и в других местах корректнее было бы производить свап css свойства 'display:none' или 'pointer-events:none' именно в этой функции. При чем, действительно, можно использовать pointer-events вместо display none, но это не столь важно. В вашей реализации происходит все тот же свап свойств, просто за пределами этой функции. Так же, стоит обратить внимание, что в реализации приведенной мной временное свойство находится на объекте только необходимое время. Если же его использовать именно в draggedElementStyles, то оно будет находиться на элементе на протяжении всего перетаскивания. Если это ни коем образом не мешает, то вы можете использовать и такую реализацию.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.