Jquery перетаскивается останавливается после обновления IE AJAX - PullRequest
0 голосов
/ 12 февраля 2011

У меня есть веб-страница, где я создаю изображения из текста, нажимая кнопку и добавляя изображение в перетаскиваемый элемент div в родительском элементе div. Div находится в панели обновления. Divs можно перетаскивать после этого события. У меня есть другая кнопка, которая временно сохраняет HTML и воссоздает div с их позициями, когда я добавляю другое изображение-> текст. Однако после этого события все старые div теряют свойство перетаскивания, последний добавленный div все еще сохраняет свойство draggable.

 $(".inner").live('mousedown', function() {
    $(this).draggable({
              containment: "#<%=divMain.ClientID%>",
        cursor: "move",
        stop: function(event, ui) {
             var position = $(this).position();
            $(this).css("top", position.top + 'px');
            $(this).css("left",position.left + 'px');
        }
    });
});

Это моя текущая функция. Пожалуйста, предложите! Это прекрасно работает в Firefox и Chrome. Проблема только в IE.

Ответы [ 2 ]

1 голос
/ 18 февраля 2011

Спасибо за ваши предложения, я нашел решение, когда я добавляю div динамически через ajax [postback], я уничтожаю draggble для всех добавленных div. $ ('. Draggable'). Draggable ('destroy');Затем переназначьте функцию перетаскивания с помощью функции live $ (". Draggable"). Live ("щелчок мышью", function () {...});Работает отлично.

0 голосов
/ 12 февраля 2011

Это потому, что jquery теряет свое событие после частичной обратной отправки.попробуйте использовать этот способ,

function pageLoad() { $(".inner").live('mousedown', function() { $(this).draggable({ containment: "#<%=divMain.ClientID%>", cursor: "move", stop: function(event, ui) { var position = $(this).position(); $(this).css("top", position.top + 'px'); $(this).css("left",position.left + 'px'); } }); }); }

...