Jquery-图像交换后的可拖动中断
Im使用Jquery和JqueryUI来: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
- 我有
保存按钮以锁定div备份(AJAX和样式已删除) Img替换脚本(slice_thumb是触发交换的图像预览)<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>
同样,如果我拖动一个图像。然后用另一个图像替换该图像。新图像无法明显拖动。但是,我仍然可以看到顶部和左侧样式被更改,右侧类被添加到元素中。解决了我的问题。仍然不清楚为什么会这样 我将图像替换脚本更改为:$(".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"); });