简体   繁体   English

使用Jquery UI使可拖动函数正常工作的代码的基本部分是什么?

[英]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

图片1

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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM