Search code examples
jquery-uijdialogjquery-ui-draggable

Keep a jQuery dialog in a div


I am trying to create a number of jQuery dialogs but I would like to constrain their positions to inside a parent div. I am using the following code to create them (on a side note the oppacity option is not working either...):

var d= $('<div title="Title goes here"></div>').dialog({
            autoOpen: true,
            closeOnEscape: false,
            draggable: true,
            resizable: false,
            width: dx,
            height: dy
        });

        d.draggable('option', 'containment', 'parent');
        d.draggable('option', 'opacity', 0.45);

        $('#controlContent').append(d.parent());

Solution

  • I have found a way to do it. This is now my method for creating a dialog:

        var d = $('<div title="Title"></div>').dialog({
            autoOpen: true,
            closeOnEscape: false,
            resizable: false,
            width: 100,
            height: 100
        });
    
        d.parent().find('a').find('span').attr('class', 'ui-icon ui-icon-minus');
        d.parent().draggable({
            containment: '#controlContent',
            opacity: 0.70
        });
    
        $('#controlContent').append(d.parent());