0

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

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

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

4

1 回答 1

1

尝试

var fns = {
    idA: functionA,
    idB: functionB,
    idC: functionC
}
$('#myCanvas').droppable({
    drop: function (e, ui) {
        var fn = fns[draggableId];
        if($.isFunction(fn)){
            fn();
        }
    }
});
于 2013-05-22T09:42:20.657 回答