[英]What is the essential part of code to make draggable function to work well using Jquery UI?
I was trying to create draggable function from jquery ui but its not working. 我正在尝试从jquery ui创建可拖动函数,但无法正常工作。 I think its have something wrong with my jquery coding. 我认为我的jquery编码有问题。 Can you guys check it out for me? 你们能帮我看看吗?
todo.init = function (options) {
options = options || {};
options = $.extend({}, defaults, options);
$.each(data, function (index, params) {
generateElement(params);
});
$.each(codes, function (index, value) {
$(value).droppable({
drop: function (event, ui) {
var element = ui.helper,
css_id = element.attr("id"),
id = css_id.replace(options.taskId, ""),
object = data[id];
// Removing old element
removeElement(object);
// Changing object code
object.code = index;
// Generating new element
generateElement(object);
// Updating Local Storage
data[id] = object;
localStorage.setItem("todoData", JSON.stringify(data));
// Hiding Delete Area
$("#" + defaults.deleteDiv).hide();
}
});
});
$("#" + options.deleteDiv).droppable({
drop: function(event, ui) {
var element = ui.helper,
css_id = element.attr("id"),
id = css_id.replace(options.taskId, ""),
object = data[id];
// Removing old element
removeElement(object);
// Updating local storage
delete data[id];
localStorage.setItem("todoData", JSON.stringify(data));
// Hiding Delete Area
$("#" + defaults.deleteDiv).hide();
}
})
};
var generateElement = function(params){
var parent = $(codes[params.code]),
wrapper;
if (!parent) {
return;
}
wrapper = $("<div />", {
"class" : defaults.todoTask,
"id" : defaults.taskId + params.id,
"data" : params.id
}).appendTo(parent);
$("<div />", {
"class" : defaults.todoHeader,
"text": params.title
}).appendTo(wrapper);
$("<div />", {
"class" : defaults.todoDate,
"text": params.date
}).appendTo(wrapper);
$("<div />", {
"class" : defaults.todoDescription,
"text": params.description
}).appendTo(wrapper);
$("." + defaults.todoTask).draggable();
wrapper.draggable({
start: function() {
$("#" + defaults.deleteDiv).show();
},
stop: function() {
$("#" + defaults.deleteDiv).hide();
},
revert: "invalid",
revertDuration : 200
});
};
This is a Todo Application, like on the pic provided. 这是一个Todo应用程序,就像提供的图片一样。 I want the notes on Pending
to be draggable to In Progress
. 我希望有关“ Pending
的注释可拖动到In Progress
。
JsFiddle link note: the code seems can't be process here while in my localhost it works well except that dragging function. JsFiddle链接说明: 这段代码似乎无法在此处处理,而在我的本地主机中,除了拖动功能之外,它运行良好。
My problem is solved. 我的问题解决了。 I did search for jquery ui not working and i found out that because of compatibility. 我确实搜索了jQuery ui,但由于兼容性我发现了它。 So they told me to use touch point to make it work. 因此,他们告诉我使用接触点使其正常工作。 and it did :) Therefore it's not about my coding for it matters.. here's the link for my solution touchpunch.furf.com 它确实是:)因此,这与我的编码无关,..这是我的解决方案touchpunch.furf.com的链接
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.