QTI interface using jQuery drag and drop

Goal: Make a QTI that uses drag and drop.
You can see the result here.
1. There is a text. 5 words have been replaced by numbers.
2. The 5 words under the text are the answers.
3. Pull these words to the right number in the text. The word will be droped into the text and the button will be hidden.
4. When all the answers have been given you can check the answers. This will be handeled server side.
5. If you want to change an answer just click on the underlined word to return it back.

I will explain all the elements I used.
The jQuery:
 $(".drag").draggable({
            containment: '#content',
            cursor: "pointer",
            cursorAt: { top: 32, left: 48 },
            revert: true,
            opacity: 0.9,
            helper: function (event) {
                return $('<span/>').text($(this).text())
                     .addClass("text-primary bg-info strong");
            }
        });
Set the drag elements.
containment = keep them contained within an area.
cursor = when dragging this then show a pointer.
cursorAt = displace the helper so that with touch screens it will not be under your finger.
revert = when you let go of this then it will return.
helper = instead of displacing the button, it will show a helper with it's own markup.
 $(".drop").droppable({
            accept: ".drag",
            tolerance: "touch",
            hoverClass: "drop-hover",
            drop: DropEvent,
            over: Select,
            out: DeSelect
        });
Set the drop elements.
accept = we only want to accept drag elements
tolerance = activate on touch
hoverclass = add a hoverclass to show the user they can drop
drop = run a script (DropEvent)
over = run a script (Select)
out = run a script (DeSelect)
We will bundel some of the interaction in functions.
var dropElement;
var working = false; 

function DropEvent(event, ui) {
        //only execute if it is not already running
        if (!working) {
            working = true;
            if (dropElement.html() === undefined) {
                element = $(this);
            } else {
                element = dropElement;
            }
            var answer = ui.draggable.html();
            var question = element.html();
            element
                .html(answer)
                .attr("data-originalquestion", question)
                .addClass("answered drop-answered")
                .removeClass('drop-open')
                .droppable('disable')
                .css("cursor", "pointer");
            working = false;
            ui.draggable
                .draggable('disable')
                .position({ of: $(this), my: 'left top', at: 'left top' })
                .draggable('option', 'revert', false);
            HideThis('#' + ui.draggable.attr('id'), 0);
            //check if this is the last answer given, if so show the CheckButton
            var check = true;
            $('.drop').each(function () {
                if ($(this).hasClass('drop-open')) {
                    check = false;
                }
            })
            if (check) {
                $('#CheckButton').show();
            }
        }
    };
When a drag is droped into a drop this script will run.