Я нашел решение для этого. Просто удалите узел блока выбора и добавьте его обратно! Убедитесь, что вы используете делегированные обработчики событий. Кажется, работает во всех браузерах. Вот мое решение в jQuery, но если кто-то захочет написать чистое решение JS, это тоже будет хорошо.
jQuery('.sortSelect').appendTo('.sortParent');
Если это не так, разметка в этом примере работает, если sortSelect является последним прямым потомком sortParent. $ .insertAfter () / $. insertBefore () также будет работать.