Перетаскивание jQuery Используя Прямые трансляции

У меня есть приложение с длинным списком, который часто изменяется, и мне нужны объекты того списка, чтобы быть перемещаемым.

Я использовал UI jQuery перемещаемый плагин, но он не спешит добавлять к 400 + элементы списка и должен быть повторно добавлен каждый раз, когда новые элементы списка добавляются.

Делает любой знает плагина, подобного UI jQuery перемещаемый плагин, который использует jQuery 1.3's .live() события? Это решило бы обе проблемы.

41
задан casperOne 27 November 2011 в 16:49
поделиться

2 ответа

Решение Войтека отлично сработало для меня. Я немного изменил его, чтобы он расширял jQuery ...

(function ($) {
   $.fn.liveDraggable = function (opts) {
      this.live("mouseover", function() {
         if (!$(this).data("init")) {
            $(this).data("init", true).draggable(opts);
         }
      });
      return this;
   };
}(jQuery));

Теперь вместо того, чтобы называть его так:

$(selector).draggable({opts});

... просто используйте:

$(selector).liveDraggable({opts})
44
ответ дан 27 November 2019 в 00:28
поделиться

Вы можете сделать такую ​​функцию-оболочку:

function liveDraggable(selector, options){
  jQuery(selector).live("mouseover",function(){
    if (!jQuery(this).data("init")) {
      jQuery(this).data("init", true);
      jQuery(this).draggable(options);
    }
  });
}

(Я использую прототип с jQuery - поэтому я поместил jQuery () вместо $ ())

А теперь вместо $ (selector) .draggable ({opts }) use liveDraggable (selector, {opts})

10
ответ дан 27 November 2019 в 00:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: