使网页上的文本可拖动

Making the text on a webpage draggable

本文关键字:拖动 文本 网页      更新时间:2023-09-26

这就是我要做的。

  1. 用户从页面中选择文本
  2. 突出显示的文本现在应该是可拖动的
  3. 文本现在被拖放到可放置对象中
  4. 这会将文本提醒给我们。

这是我用来检测所选文本的代码。

if (!window.x) {
    x = {};
}
x.Selector = {};
x.Selector.getSelected = function() {
    var t = '';
    if (window.getSelection) {
        t = window.getSelection();
    } else if (document.getSelection) {
        t = document.getSelection();
    } else if (document.selection) {
        t = document.selection.createRange().text;
    }
    return t;
}
$(function() {
    $(document).bind("mouseup", function() {
        var mytext = x.Selector.getSelected();
        alert(mytext);
});

一切都很好,直到这里,我当时尝试这样做。

$(function() {
    $(document).bind("mouseup", function() {
        var mytext = x.Selector.getSelected();
    alert(mytext);
    var item=$(mytext);
    $(item).draggable({
            start:function(event,ui){$( "#draggable" ).draggable( "option", "revert", true );},
        stop:function(event,ui){$( "#draggable" ).draggable( "option", "revert", true );}
    });
    $("#droppable").droppable({
        accept: item ,
        drop: function() { alert($('#draggable').text()); }
    });    
});

如何将文本转换为可拖动,请帮忙,任何新的方法都非常受欢迎。

有趣..

var item=$(mytext);

不能选择文本作为 DOM 元素。您应该将其添加到新创建的元素中,例如<p>

$("<p>"+mytext+</p>").appendTo("body").dragable({...}).