Библиотека JS (с функцией drag n drop), совместимая с iOS и обычными браузерами - PullRequest
57 голосов
/ 24 августа 2011

Кто-нибудь знает каркас JS, который имеет функцию перетаскивания и совместим с мобильными (iOS) и обычными браузерами?

В настоящее время у меня есть веб-приложение, и мне сложно егоФункциональность drag'n'drop работает на iOS ... Хотелось бы, чтобы был такой, который бы делал это для обоих ...

Ответы [ 13 ]

28 голосов
/ 27 августа 2011

Вот два встроенных в jQuery:

http://www.stevefenton.co.uk/cmsfiles/assets/File/mobiledragdrop.html

http://code.google.com/p/jquery-ui-for-ipad-and-iphone/

Существует также мобильная среда jquery (которая не имеет функции перетаскивания): http://jquerymobile.com/

14 голосов
/ 24 августа 2011

Я большой поклонник Sencha Touch .

Вот демонстрация перетаскивания - http://dev.sencha.com/deploy/touch/examples/dragdrop/.

Примечание: Проверено на моем iPhone 4 в Safari.

10 голосов
/ 29 августа 2011

JQuery Mobile пытается поддерживать большое разнообразие платформ

А вот специальные плагины для Drag and Drop

8 голосов
/ 24 августа 2011

Попробуйте додзё. Он работает довольно хорошо, и это относительно зрелый инструментарий. http://dojotoolkit.org/

6 голосов
/ 02 сентября 2011

Check SproutCore . Это фреймворк, созданный бывшими инженерами Apple и используемый Apple в веб-приложениях MobileMe и iCloud. Он имеет SC.Drag , который работает с событиями мыши и касания.

4 голосов
/ 27 августа 2013

interactive.js - это отдельный и легкий модуль JavaScript с возможностью перетаскивания, изменения размера и мультитач-жестов.Он работает на iOS, Android, Chrome, Firefox, Opera и IE9 + с поддержкой взаимодействия с элементами HTML и SVG.Что-то, на что стоит обратить внимание, это то, что разработчик должен отвечать на события перетаскивания, но я думаю, что это хорошо.

Чтобы перетаскивать всю страницу, можно использовать:

// make an Interactable of the document body element
interact(document.body)
// make a draggable of the Interactable
  .draggable({
    // on(drag)move
    onmove: function (event) {
      x += event.dx;
      y += event.dy;

      // translate the document body by the change in pointer position
      document.body.style.translate = 'translate(' + x + 'px, ' + y + 'px)';
    }
  })
3 голосов
/ 08 сентября 2011

http://www.kendoui.com/ это должно работать. Имеет и D'n'd, хотя он все еще в бета-версии.

2 голосов
/ 07 декабря 2011

Вы можете использовать jquery UI для перетаскивания и дополнительную библиотеку, которая отображает сенсорные события на их аналогичные события мыши. Я думаю, что это должно решить вашу проблему:

https://github.com/yeco/jquery-ui-touch-punch

Чтобы добавить сенсорные события, просто включите jquery.ui.touch-punch.min.js сценарий после ваших сценариев jquery.ui.

ДЕМОС:

http://furf.com/exp/touch-punch/

2 голосов
/ 26 сентября 2011
  • zepto (самый маленький, iOS 4+, Android 2.2+, webOS 1.4.5 +)
  • jquery, jquerymobile, jqtouch
  • прототип
  • сенча, сенчатуш
0 голосов
/ 07 декабря 2011

Это по-прежнему в альфа-формате: http://prettydiff.com/jsgui

Оно сохраняется даже после закрытия или обновления браузера и будет работать в любом современном браузере.Кроме того, это не рамки.Вы можете использовать это без других фреймворков, и вы можете настроить его, чтобы делать то, что вы хотите.

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