jQuery UI droppable纯文本

时间:2013-01-29 17:09:27

标签: jquery jquery-ui

我需要将文本从浏览器外部拖放到网页,但我想使用jQuery UI droppable来接受纯文本。

这是一个使用javascript的教程,这对我有用:

http://html5doctor.com/native-drag-and-drop/

但我正在动态添加一些元素,并使用liveQuery和其他一些实现起来相当复杂的其他东西使它们可以删除。

我试过类似的东西,它适用于可拖动的元素,但不适用于纯文本:

        $('#cointainer').livequery(function () {
            $(this).droppable({
                drop: function (event, ui) {

                    alert("dropped");
                },
                greedy: true
            });
        });

是否可以使用jQuery UI droppable进行此操作?

1 个答案:

答案 0 :(得分:1)

这是我最接近的,它使用jQuery但不是jQuery UI droppable 。 Hack是在函数中包装您需要做的任何事情,并将此代码和jQuery droppable绑定在同一元素上,并从两个drop事件中调用相同的函数。这样,您可以同时支持可放置元素和文本删除。

        $('#cointainer').livequery(function () {

            $(this).bind('dragover', function (e) {
                e.preventDefault(); 
            });


            $(this).bind('dragenter', function (e) {
                e.preventDefault();
            });

            $(this).bind('drop', function (e) {

                e.preventDefault(); // prevent redirect

                if (e.originalEvent.dataTransfer.getData('Text') == ':)') {
                    $(this).append('<div>You dropped a smile!</div>');
                }

                e.stopPropagation(); // prevent bubbling, without this we would get duplicate items if parent is droppable too, acts like jQuery greedy: true;
            });
        });