JQuery перетаскивание после загрузки () - перетаскивание работает, но падение не работает - PullRequest
0 голосов
/ 17 августа 2011

У меня есть простая настройка jquery, включающая несколько div с изображениями и текст, который нужно перетаскивать на изображения. Если я запускаю страницу самостоятельно, все в порядке. К сожалению, как у меня все настроено, это HTML-страница, которая загружается с помощью jQuery load () в div на родительской странице, и когда я делаю это, хотя перетаскивание работает, падение не работает. Есть идеи? Спасибо.

$(document).ready(function () {
    $('.draggable').live('mouseover', function() {
        $(this).draggable({start:
            function(){
               //identifies dragged item
            }
         })
     })
     $('.droppable').live('mouseover', function() {
         $(this).droppable({drop: 
             function(){
                //checks to see if it wants dragged item                
             }
          })
     })
});

Edit:

Извините, если мне неясно - я сделаю все возможное, чтобы уточнить: у меня есть родительская страница, в которой есть div, в который я загружаю другие страницы, используя функцию загрузки jQuery. Эта родительская страница в значительной степени пуста, кроме навигации. Все действие происходит на подчиненных страницах, которые загружаются в него. Что касается загрузки, то здесь нет ничего необычного - все страницы загружаются нормально - так что я могу либо посмотреть на загруженные страницы самостоятельно (открыв их прямо в браузере), либо посмотреть, как они загружаются в родительская страница. И вот тут-то, кажется, что-то странное, с перетаскиванием работает, но нет. Загрузка на родительскую страницу осуществляется:

$('.unit-nav-links').bind('click', function() {
    var $sender = $(this);
    $('.content').fadeOut(200, function() {
        $('.content').load($sender.attr('href'), function () {
            $('.content').fadeIn(200, function() {
                currentIndex = parseInt($sender.attr('data-currentIndex'));
            });
        });
    });
    return false;
})

, где content - это div, содержащий загружаемую страницу, а href - адрес загружаемой страницы.


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

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

на

или на это нормально, поэтому решение состоит в том, чтобы просто обернуть изображения в

меток и Боб твой дядя. По крайней мере, я на это надеюсь.

1 Ответ

0 голосов
/ 17 августа 2011

Ваши события мыши являются указателями мыши.Попробуйте переключить их в mousedown, чтобы начать перетаскивание, и mouseup, чтобы закончить его.

...