Add jquery ui function draggable/resizeable after appending/adding it on the page

King Pangilinan picture King Pangilinan · Apr 25, 2012 · Viewed 10.1k times · Source

I have problem on my webpage, I am adding an element in the document when the user clicks on a specific button.

the element is

<div class="draggableResizable">
  Some text
</div>

script.js

$('#button').click(function() {
  $("#pageWrap").append(element)
})

$('.draggableResizable').draggable().resizable()

Any suggestions are welcome.

Thank you.

Answer

Jasper picture Jasper · Apr 25, 2012

Just restructure so you initialize the widgets after adding the element:

$('#button').click(function() {

    //create an element
    var $element = $('<div class="draggableResizable" />').text('some text');

    //append it to the DOM
    $("#pageWrap").append($element);

    //make it "draggable" and "resizable"
    $element.draggable().resizable();
});

Here is a demo: http://jsfiddle.net/ZSgBP/1/