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 に答える