0

我有以下代码,并试图允许一个点(img 和 div 中的文本)在创建后可拖动。

<div id="container">
    <img src="images/aoi.png" alt="" />
    <div id="point_panel">
        <form>
            <fieldset id="point_container">
                <img id="point" src="images/point.png" alt="" /><input id="point_name" type="text" />
            </fieldset>
        </form>
    </div>
</div>
<script type="text/javascript">
    $(document).ready(function() {
        $('#point').click(function() {
            var alt = $('#point_name').val();
            $('#container').append('<div class="points"><img src="images/point.png" alt=\"'+alt+'\" />'+alt+'</div>');
        });
        $('.points').draggable({ containment: '#container', stack: '.points', opacity: 0.5, zIndex: 100 });
    });
</script>

用户单击表单中的 img,创建一个具有相同 img 和文本的新 div。然后,该 div 应该可以拖动到 div 内具有容器 id 的任何位置。

当我创建点时,它不能被拖动。我的代码有什么遗漏吗?

谢谢

4

2 回答 2

1

试试这个:

$(document).ready(function() {
    $('#point').click(function() {
        var alt = $('#point_name').val();
        var el = $('<div class="points"><img src="images/point.png" alt=\"'+alt+'\" />'+alt+'</div>');
        $('#container').append(el);
        $(el).draggable({ containment: '#container', stack: '.points', opacity: 0.5, zIndex: 100 });
    });
});
于 2012-05-28T16:24:59.537 回答
1
    $(document).ready(function() {
            $('#point').click(function() {
                var alt = $('#point_name').val();
                $('#container').append('<div class="points"><img src="images/point.png" alt=\"'+alt+'\" />'+alt+'</div>');
                //bind draggable to last inserted div 
                $('#container').find('.points:last').draggable({ containment: '#container', stack: '.points', opacity: 0.5, zIndex: 100 });            
             });
            $('.points').draggable({ containment: '#container', stack: '.points', opacity: 0.5, zIndex: 100 });
        });
于 2012-05-28T16:25:14.537 回答