JQuery UI Droppable: как заставить его жить? - PullRequest
1 голос
/ 20 октября 2010

В в этом вопросе , перетаскиваемые объекты создаются на лету, когда мышь вводит элемент для перетаскивания.

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

Я пробовал подобные вещи, но не смог:

jQuery.fn.liveDroppable = function (opts) {
    this.live("mouseover", function() {
        if (!$(this).data("livedropinit")) {
            $(this).data("livedropinit", true).droppable(opts);
            $(this).trigger('dropover');
        }
    });
};

Ответы [ 2 ]

4 голосов
/ 29 июля 2011

Я получил это для работы, связав его с JQuery, используя методы, описанные в этом посте для перетаскивания. Единственная проблема заключается в том, что, похоже, у меня есть проблема с вложенными дескрипторами, которую я сейчас изучаю. Вот модифицированная версия. Мне пришлось изменить его на "mouseenter".

(function ($) {
       $.fn.liveDroppable = function (opts) {
          this.live("mouseenter", function() {
             if (!$(this).data("init")) {
                $(this).data("init", true).droppable(opts);
             }
          });
       };
}(jQuery));

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

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

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

$(selector).liveDroppable({opts})
0 голосов
/ 20 октября 2010

Будет ли это работать для вас?Это. Hover ();функция.Не уверен, что вы уже попробовали.http://api.jquery.com/hover/

...