Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jquery-ui/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery-图像交换后的可拖动中断_Jquery_Jquery Ui - Fatal编程技术网

Jquery-图像交换后的可拖动中断

Jquery-图像交换后的可拖动中断,jquery,jquery-ui,Jquery,Jquery Ui,Im使用Jquery和JqueryUI来: 我有 <div id="image_slice_wrapper"> <img id="draggable" class="slice_img ui-draggable" style="position:relative; left:-1000px; top:-250px" src="images/ducati.jpg"/> </div> 保存按钮以锁定div备份(AJAX和样式已删除) Img替换脚本(slice

Im使用Jquery和JqueryUI来:

  • 我有
    
    
    <div id="image_slice_wrapper">
    <img id="draggable" class="slice_img ui-draggable" style="position:relative; left:-1000px; top:-250px" src="images/ducati.jpg"/>
    </div>
    
    保存按钮以锁定div备份(AJAX和样式已删除)

    Img替换脚本(slice_thumb是触发交换的图像预览)


    同样,如果我拖动一个图像。然后用另一个图像替换该图像。新图像无法明显拖动。但是,我仍然可以看到顶部和左侧样式被更改,右侧类被添加到元素中。

    解决了我的问题。仍然不清楚为什么会这样

    我将图像替换脚本更改为:

    $(".slice_thumb").click(function() {
        var src = $(this).find("img").attr("src");
        $(".slice_img").attr("style","left:0px; top:0px;");
        $("#draggable").after('<img src=" " />').attr("src", src).addClass("slice_img ui-draggable").attr("style","position:relative; left:0px; top:0px").attr("id","draggable");
    });
    
    $(“.slice_thumb”)。单击(函数(){
    var src=$(this.find(“img”).attr(“src”);
    $(“.slice_img”).attr(“样式”,“左:0px;顶:0px;”);
    $(“#draggable”).after(“”).attr(“src”,src).addClass(“slice#img ui draggable”).attr(“style”,“position:relative;left:0px;top:0px”).attr(“id”,“draggable”);
    });
    

    它实际上替换了img src(就像以前一样),但也在
    之后创建了一个空白图像。出于某种原因,jquery喜欢这样。新图像在代码中是可拖动的(我可以看到位置的变化),在DOM中也是可拖动的。酷

    代码总是有用的。。jsfiddle.net甚至更好。首先想到的是,您是否使用live绑定到事件?@Todd不确定“使用live”是什么意思。你能澄清一下吗?看看jQuery文档中的“live”方法()。它用于自动将事件重新绑定到动态生成的对象。
    $("#save_button").click(function() {
    $('.slice_img').draggable( "option", "disabled", true );
    });
    
    $(".slice_thumb").click(function() {
    var new_image = $(this).find("img").attr("src");
    $(".slice_img").attr("src",new_image);   
    $(".slice_img").attr("style","left:0px; top:0px;");
    });
    
    $(".slice_thumb").click(function() {
        var src = $(this).find("img").attr("src");
        $(".slice_img").attr("style","left:0px; top:0px;");
        $("#draggable").after('<img src=" " />').attr("src", src).addClass("slice_img ui-draggable").attr("style","position:relative; left:0px; top:0px").attr("id","draggable");
    });