jQuery拖放到文本区域

前端之家收集整理的这篇文章主要介绍了jQuery拖放到文本区域前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
使用jQuery,并希望让用户将占位符拖动到文本区域.

每个占位符都是< span>它有一个class =’占位符’.文本区域id只是“main_text”.

所以,用户应该可以拖动文本区域顶部的占位符跨度,放下它,然后插入文本.

最理想的效果是在放置占位符的地方插入文本,但是我已经放弃了那个.在这一点上,只是为了让它工作,所以它插入文本在任何地方,将是一个好的开始.

有没有人成功完成这个?谢谢 –

解决方法

我不认为你可以直接使用textarea作为可卸载的,所以我做了一个小黑客,拖动开始在文本区域直接放置一个div. div是实际的droppable,然后将draggable的文本插入到textarea中

在这里查看演示

http://jsbin.com/egefi(http://jsbin.com/egefi/edit代码)

它插入当前textcaret位置我不认为插入当前鼠标光标位置甚至是可能的.

function insertAtCaret(area,text) {
    //... adapted from http://www.scottklarr.com/topic/425/how-to-insert-text-into-a-textarea-where-the-cursor-is/
}

$(document).ready(function() {
    var options = {
        accept: "span.placeholder",drop: function(ev,ui) {
            insertAtCaret($("textarea#main_text").get(0),ui.draggable.eq(0).text());
        }
    };

    $("span.placeholder").draggable({
        helper:'clone',start: function(event,ui) {
            var txta = $("textarea#main_text");
            $("div#pseudodroppable").css({
                position:"absolute",top:txta.position().top,left:txta.position().left,width:txta.width(),height:txta.height()
            }).droppable(options).show();
        },stop: function(event,ui) {
            $("div#pseudodroppable").droppable('destroy').hide();
        }
    });
});
原文链接:https://www.f2er.com/jquery/176268.html

猜你在找的jQuery相关文章