ホームページ  >  記事  >  ウェブフロントエンド  >  HTML5_html5 チュートリアル スキルで要素のドラッグを実装する方法

HTML5_html5 チュートリアル スキルで要素のドラッグを実装する方法

WBOY
WBOYオリジナル
2016-05-16 15:51:441553ブラウズ

多くのフロントエンドは、おそらく HTML5 ドラッグ アンド ドロップの実装方法を理解していません。この記事では、いくつかのアイデアを提供します。後で簡単に参照できるように、ファイルを整理してバックアップします。

最初の例:

index.html

XML/HTML コードコンテンツをクリップボードにコピー
  1. >
  2. <html>
  3. <>
  4. <メタ charset="UTF- 8">
  5. <タイトル>ドラッグタイトル>
  6. <スタイル>
  7. .box{
  8. 幅: 400px;   
  9. 高さ: 400px;   
  10. float: 左;   
  11. }
  12. #box1{
  13. 背景: #CCC;   
  14. }
  15. #box2{
  16. 背景: #FF0;   
  17. }
  18. スタイル>
  19. >
  20. <ボディ>
  21. <div id="box1" クラス="ボックス">div>
  22. <div id="box2" クラス="ボックス">div>
  23. <img src="http: //pica.zol-img.com.cn/2016/02/1ace90ad77db716547614a18c4a9263g.jpg" alt="" id="img1" />
JavaScript コード复制コンテンツ到剪贴板
  1.   
  2.   
  3.   
  4. app1.js
  5. /**
  6. * app1.js
  7.  */
  8. var oBox1,
  9. oBox2、
  10. oImg1;   
  11. window.onload = 関数(){
  12. oBox1 = document.getElementById('box1');   
  13. oBox2 = document.getElementById('box2');   
  14. oImg1 = document.getElementById('img1');   
  15. //
  16. oBox1.ondragover = oBox2.ondragover = 関数(e){
  17. e.preventDefault();   
  18. };   
  19. //
  20. oImg1.ondragstart = 関数(e){
  21. e.dataTransfer.setData('text', e.target.id);   
  22. };   
  23. oBox1.ondrop = dropImg;   
  24. oBox2.ondrop = dropImg;   
  25. };   
  26. 関数 dropImg(e){
  27. e.preventDefault();   
  28. var tempImg = document.getElementById(e.dataTransfer.getData('text'));   
  29. e.target.appendChild(tempImg);   
  30. }

知識ポイントを含む

ドラッグ アンド ドロップのプロセス中に次のイベントがトリガーされます:
ドラッグ ターゲット (ソース要素) でイベントをトリガーします
ondragstart - ユーザーが開始します要素のドラッグ トリガー条件
ondrag - 要素がドラッグされているときにトリガーされます
ondragend - ユーザーが要素のドラッグを終了した後にトリガーされます

ターゲットが解放されたときにトリガーされるイベント
ondragenter - このイベントは、マウスでドラッグされたオブジェクトがコンテナー スコープに入ったときにトリガーされます
ondragover - オブジェクトが解放されたときにトリガーされますドラッグされています このイベントは、ドラッグされたオブジェクトが別のオブジェクトのコンテナ範囲内にドラッグされるとトリガーされます
ondragleave - このイベントは、マウスでドラッグされているオブジェクトがコンテナ範囲を離れるとトリガーされます
ondrop - ドラッグ プロセス中に、このイベントは、マウスボタンが放されたときにトリガーされます

イベントオブジェクト (e に置き換えられます)

e.ターゲット

W3Cschool の説明は次のとおりです: このイベントをトリガーした要素 (イベントのターゲット ノード) を返します。このターゲット属性は ie9 以降とのみ互換性があります。

e.preventDefault()

イベントのデフォルトのアクションをキャンセルします。

e.dataTransfer.setData()

ドラッグしたデータのデータ型と値を設定します:

コードをコピーします
コードは次のとおりです:
e. dataTransfer.setData("Text",ev.target.id); //最初のパラメータは Text (小文字も許容されます)

e.dataTransfer.getData()

ドラッグされたデータを取得します:

コードをコピーします
コードは次のとおりです:
e.dataTransfer .getData( "テキスト");

以上がこの記事の全内容です。皆様の学習のお役に立てれば幸いです。

原文: http://www.cnblogs.com/oovwall/p/5213580.html

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。