Преимущества HTML 5 Drag and Drop по сравнению с jQuery UI Drag and Drop - PullRequest
26 голосов
/ 02 марта 2012

Я пишу новое веб-приложение, которое должно поддерживать операции перетаскивания для элементов на странице (не перетаскивание файлов).

Это ответ на этот вопрос

HTML5 против перетаскивания jquery

рекомендует использовать Modernizr, чтобы проверить, поддерживает ли браузер перетаскивание HTML5, и либо использовать эту поддержку, либо использовать альтернативу, такую ​​как jQuery UI.

Поскольку они имеют совершенно разные модели, это означает, что весь код перетаскивания должен быть реализован и протестирован отдельно (очень мало общей реализации). Это может показаться логичным только в том случае, если существуют значительные преимущества для перетаскивания HTML5, влияющие на пользователя, и если откат к пользовательскому интерфейсу jQuery может привести к ухудшению работы.

Существуют ли значительные преимущества для реализации обоих вариантов?

Ответы [ 5 ]

12 голосов
/ 02 марта 2012

Я думаю, что наибольшим преимуществом перетаскивания HTML5 над jQuery является исключение значительной библиотеки jQuery UI и файлов css.

При этом существует проблема совместимости браузера, которая делает jQueryочень нужно.

12 голосов
/ 02 марта 2012

Я думаю, что в конечном итоге jQuery воспользуется встроенными возможностями браузера, такими как перетаскивание html 5.

И если разные браузеры реализуют его по-разному ... jQuery справится с этим.

7 голосов
/ 20 ноября 2012

Хорошо, реализовав оба, я бы рекомендовал делать это вручную с событиями mousedown / mousemove (в основном, как это делает jquery UI).

Я согласен, что пользовательский интерфейс jQuery может быть немного тяжелым, но есть много учебных пособий / фрагментов кода, доступных для его самостоятельного кодирования.

Почему я рекомендую ручной подход, а не нативную реализацию в современных браузерах?Потому что html5 DnD sux!Он может быть новым для текущих браузеров, но смоделирован после старой реализации в IE5.

Если вы говорите о перемещении объектов между окнами с рабочего стола, то, возможно, я бы подумал об использовании html5 DnD, поскольку он имеет хуки браузера / ОС.Иначе, если вы просто перемещаете DOM-узлы на одной веб-странице, сделайте это вручную с помощью событий мыши js.

-Поль

3 голосов
/ 24 июля 2012

Я отвечаю конкретно по поводу dnd, поскольку, похоже, это то, о чем вы спрашивали. Я думаю, что некоторые люди путают jQuery с jQueryUI. Использование собственного HTML5 dnd вместе с jQuery - отличное сочетание как по производительности, так и по времени разработки. Поскольку функции dnd пришли из мира IE, поддержка браузеров довольно хорошая (включая, конечно, IE7, а может быть, даже и старше). Использование jQuery дает вам все кросс-браузерные addClass(), removeClass() и другие полезные утилиты.

С другой стороны, jQueryUI предлагает массу функций, которые вам, вероятно, не понадобятся. Поскольку их dnd полагается на события мыши, а не на нативный dnd, производительность не будет такой хорошей. jQueryUI не следует путать с jQuery. Более 2,5 лет jQueryUI не получал серьезных обновлений! (Да, jQueryUI 1.8rc1 был в январе 2010 г.) Так что не так просто просто сказать, что они добавят встроенную поддержку в будущем, в темпе, который они обновляют, я не задерживаю дыхание.

0 голосов
/ 26 июня 2017

Я только что преобразовал один скрипт, чтобы использовать сортируемый скрипт перетаскивания на основе HTML5 вместо jQueryUI, потому что при размере того, что я пытался отсортировать, инициализация версии jQueryUI заняла 19 секунд, исекунды для инициализации версии HTML5.

Так что преимущество: скорость

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...