0

これが私がやろうとしていることです。

  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()); }
    });    
});

テキストをドラッグ可能に変換する方法 , 助けてください , 新しい方法は大歓迎です.

4

1 に答える 1

0

面白い..

var item=$(mytext);

テキストを DOM 要素として選択することはできません。次のような新しく作成された要素に追加する必要があります<p>

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

于 2012-06-18T12:27:11.397 に答える