JQuery拖放保存位置
本文关键字:位置 保存 拖放 JQuery | 更新日期: 2023-09-27 17:57:32
我正在使用JQuery拖放来创建一个在www.bbc.com等网站上使用的面板。拖放控件后是否可以保存控件的坐标?如果是这样的话,有人会推荐一个网站或文章吗?
谢谢!
如果你只想要控件的坐标,你可以使用http://api.jquery.com/offset/然后将这些坐标保存到数据库中。
但是,如果您的元素捕捉到一个网格,您可能需要计算元素所在的网格列和该列中的位置。
您想将它们保存在哪里?
您可以编写一个函数来保存容器内的位置,当用户完成移动控件时,就会触发一个事件:
stop: function(event, ui) { ... }
在那里,您可以使用偏移函数获得控件的位置。
问候
您正在查找ui.position属性。
$("#foo").draggable();
$("#foo").bind("dragstop", function (e, ui)
{
console.log(ui.position.top);
console.log(ui.position.left);
});
事件可以绑定在draggable方法中,但为了清楚起见,我将其保留为这样。
更多信息
$(this).draggable({revert:true});
当拖动被释放时,这将帮助您的拖动控件移动到其原始位置。
您是否可以在drop上运行一个函数,使用ajax将有问题的控件的坐标和大小发送到服务器并保存它?
如果是"正常"拖放,那么您就可以使用stop
函数。
$( ".selector" ).draggable({ stop:
function(event, ui) { $.ajax(...) }
});
拖放
$('#page_list').sortable({
update : function(event, ui)
{
$("#save_arrangement").show();
var id_array = new Array();
$('#page_list tr').each(function(){
id_array.push($(this).attr("id"));
});
console.log(id_array);
$("#save_arrangement").on("click", function () {
$.ajax({
url:"/quotations/save_arrangement",
method:"POST",
data:{'id_array':id_array},
success:function(success)
{
swal({
title:"Arrangement has been saved",
type:"success"
},
function(isConfirm) {
if (isConfirm) {
location.reload();
}
});
},
});
});
}
});