在jQuery UI中处理drop事件的正确方法

时间:2013-05-22 09:31:12

标签: jquery jquery-ui

我正在使用jQuery UI droppabledraggable。根据在某些画布上放置的元素,调用不同的函数。所以现在就是这样的:

$('#myCanvas').droppable({
    drop: function (e, ui) {
        if (draggableId === "idA") {
            functionA();
        } else if (draggableId === "idB") {
            functionB();
        } else if (draggableId === "idC") {
            functionC();
        }
    }
});

我想摆脱丑陋的肤色。它看起来像一个多态问题,但在这种情况下我真的不知道如何处理它。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

尝试

var fns = {
    idA: functionA,
    idB: functionB,
    idC: functionC
}
$('#myCanvas').droppable({
    drop: function (e, ui) {
        var fn = fns[draggableId];
        if($.isFunction(fn)){
            fn();
        }
    }
});