2010-04-21 4 views
0

Итак, у меня есть один элемент div, который я добавляю в свой DOM одним щелчком ссылки. Проблема в том, что я должен иметь возможность перемещать этот элемент, но если я добавлю его в свой DOM, я не могу его перетащить.jquery - добавленный элемент не перетаскиваемый

Так и есть решение функции live()? Если да, то как мне его использовать? Я вроде как не знаю, как это сделать. Вот минималистичный код:

элемент должен быть добавлен (data.html):

<div id="menu"> 
    <p>random stuff here</p> 
</div> 

JQuery:

$("#menu").draggable(); 

$("#button").click(function(){ 
    //custom function for exists() 
    if ($("#menu").exists()){ 
     $("#menu").remove(); 
    } 
    else { 
     $.get("data.html", function(data){ 
      $("body").append(data); 
     }); 
    } 
}); 

ответ

0

Когда вы добавляете, привязать событие перетаскивания. Это должно выглядеть так:

$("#button").click(function(){ 
    //custom function for exists() 
    if ($("#menu").exists()){ 
     $("#menu").remove(); 
    } 
    else { 
     $.get("data.html", function(data){ 
      $("body").append(data); 
      $("#menu").draggable(); 
     }); 
    } 
}); 
+0

ах, да. конечно. интересно, почему я не пробовал этот вариант :) спасибо большое, что сработало! – kikkoman90