0

マウスダウンでアクティブ化したときにドロップするオブジェクトを変更しようとしています。例えば:

<a>テキストエリアにドラッグしてドロップすると、タグ付きのリストがあります。URLを文字列として取得します。しかし、ドロップするときに完全なURLは必要ありません(一部が必要です)。

a-tagのhrefは次のようになります:?page = 1しかし、テキストエリアにドロップすると、http://localhost/page.php?page=1と表示されます。

では、オブジェクトをテキストエリアにドロップするときに、オブジェクトの結果を変更することは可能ですか?

編集:

現在のjQueryコード:

jQuery("ul.editpages a").mousedown(function(object){
    newobject = object.srcElement.innerText;
});

現在のHTML:

<ul class='editpages'>
    <li><a href="?page=1"><span>Page 1</span></a></li>
</ul>
<textarea class='redactor'>
</textarea>

私はすべての最新のブラウザが提供するネイティブのドラッグアンドドロップを使用しようとしています。これは、コンテンツを位置ではなくテキストのポイントに挿入できるためです(jqueryのドロップ可能およびドラッグ可能のように)

4

2 に答える 2

1

javascript onDrop イベントで何かを試みることができます

<textarea class='redactor' ondrop="myfunction()">

そして、hrefの部分文字列でテキストエリアのコンテンツを変更します

于 2012-06-20T17:41:18.280 に答える
0

誰かが興味を持っている場合:

Google chromeの問題は、ドロップ時に変更されると思っていたことです。それはうまくいきませんでした。オブジェクトをドロップしたとき、オブジェクト内に何も見つかりませんでした。そこで、ドラッグしようとしていたものにフォーカスを移しました。

だから<a>私は追加しましたdraggable="true" ondragstart="drag(event)"

これがドラッグ機能です。

function drag(ev){
    fullurl = ev.target.href;
    shorturl = fullurl.substring(fullurl.indexOf('?')).replace("?page=", "");
    tag = "<PAGE page='"+shorturl+"'>"
    ev.dataTransfer.setData("Text",tag);
}

ドラッグすると、テキストエリアに書式設定された文字列として表示されます。

これは Opera では正しく動作しません ( http://help.dottoro.com/ljmpcqdb.phpによると) が、誰も私たちのサイトを訪れていないためです。

于 2012-06-21T07:35:05.703 に答える