Обнаружение «перетаскиваемого» в document.createElement ('span') кажется хорошей идеей, но на практике это не работает.
iOS утверждает, что Draggable находится в элементе, но не позволяет перетаскивать. (Ссылка: Руководство по веб-контенту Safari: обработка событий )
IE9 утверждает, что draggable НЕ находится в элементе, но допускает перетаскивание. (Ссылка: мое тестирование HTML5 перетащить в IE.)
Modernizr - лучший выбор, потому что он не смущает IE. Тем не менее, он утверждает, что перетаскивание HTML5 доступно на iOS.
Вот как я могу обнаружить перетаскивание HTML5:
var iOS = !!navigator.userAgent.match('iPhone OS') || !!navigator.userAgent.match('iPad');
if (Modernizr.draganddrop && !iOS) {
HTML5 drag and drop solution
} else if (Modernizr.draganddrop && iOS) {
iOS drag and drop solution
} else {
non-HTML5 drag and drop solution
}