jquery, перетаскиваемый для живых событий на iPad - PullRequest
0 голосов
/ 02 марта 2012

Я пытаюсь перетащить живые дивы, возвращенные из ajax. следующий код работает хорошо для рабочего стола, но на ipad я должен перетащить (при загрузке страницы) каждый из перетаскиваемых объектов дважды, один раз для инициализации, а затем для перетаскивания любая помощь в создании этого перетаскивания даже при загрузке страницы? мой код выглядит следующим образом:

HTML:

<div class="draggable"> drag this </div>

JQuery:

$.fn.liveDraggable = function (opts) 
    { 

        if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) 
        {
              this.live("touchstart", function() {
                 if (!$(this).data("init")) {
                    $(this).data("init", true).draggable(opts);
                 }
              });
              return $();
        }
        else
        {
             this.live("mouseover", function() {
                 if (!$(this).data("init")) {
                    $(this).data("init", true).draggable(opts);
                 }
              });

              return $();
        }

    };



    $(".draggable").liveDraggable(
    {  
        helper: 'clone',            
        containment: '#origin'

    })

1 Ответ

1 голос
/ 09 мая 2012

Вы не можете связывать события наведения мыши и ожидать, что они будут иметь отношение 1 к 1 на сенсорных устройствах.Проще говоря, у меня та же проблема, и я не нашел решения, кроме того, что не использую живую модель, которая отстой, так как вам приходится переинициализировать все каждый раз, когда вы добавляете новый элемент dom, предназначенный для наследования этих свойств.

На заметку.

попробуйте следующее для определения, если вы уже прикрепили живое событие к этому элементу.

if (!$(this).data("draggable")) {
   $(this).draggable(opts);
}

В основном вы отрицаете необходимость добавления случайных данных ()такие атрибуты, как

'.data("init", true)' 

Вышеприведенное предотвращает засорение этого пространства имен чем-то, что вам не нужно, поскольку перетаскиваемый объект после присоединения всегда имеет значение true, а перетаскиваемые методы могут быть легко удалены.

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