質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

解決済

動的に生成した要素にドラッグアンドドロップの機能を付けているが反映されません

mori_reta
mori_reta

総合スコア10

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

1回答

0評価

0クリップ

2415閲覧

投稿2020/01/21 06:55

イメージ説明

fullcalendar v3.9.0を使用しています。
予定リストにある、My Event1から5はhtmlで事前に作成してあるのですが、ドラッグアンドドロップ、できませんの2つはその下にある追加ボタンで動的に要素を作成したものになります。
予定リスト内の項目は右のカレンダーの日付内にドラッグアンドドロップができるようにしてあります。
しかし、My Eventはドラッグアンドドロップができるのですが、動的に作成した要素はできません。

こちらの中にドラッグアンドドロップのコードも含まれています。

html

<script> // ページ読み込み時の処理 $(document).ready(function () { // 外部イベントを初期化します // ----------------------------------------------------------------- $('#external-events .fc-event').each(function() { // カレンダーがドロップ時にイベントをレンダリングできるようにデータを保存します $(this).data('event', { title: $.trim($(this).text()), // イベントタイトルとして要素のテキストを使用 stick: true //ユーザがナビゲートする時に維持する(renderEventメソッドのドキュメントを参照) }); // jQuery UIを使用してイベントをドラッグ可能にします $(this).draggable({ zIndex: 999, revert: true, // イベントをもとの状態に戻します revertDuration: 0 // ドラッグ後の元の位置 }); }); // カレンダーの設定 $('#calendar').fullCalendar({ header: { left: 'prev,next today', center: 'title', right: 'month,agendaWeek,agendaDay' }, height: 550, firstDay: 1, lang: "ja", selectable: true, selectHelper: true, select: function(start, end) { var title = prompt("予定タイトル:"); var eventData; if (title) { eventData = { title: title, start: start, end: end }; $('#calendar').fullCalendar('renderEvent', eventData, true); // stick? = true } $('#calendar').fullCalendar('unselect'); }, droppable: true, // これにより、モノをカレンダーにドロップできます editable: true, eventLimit: true, }); }); </script> <style> html, body { margin: 0; padding: 0; font-family: "Lucida Grande",Helvetica,Arial,Verdana,sans-serif; font-size: 14px; } #external-events { position: fixed; z-index: 2; top: 20px; left: 20px; width: 150px; padding: 0 10px; border: 1px solid #ccc; background: #eee; } #external-events .fc-event { margin: 1em 0; cursor: move; } #calendar-container { position: relative; z-index: 1; margin-left: 200px; } #calendar { max-width: 900px; margin: 20px auto; } </style> </head> <body> <div id='external-events'> <p> <strong>予定リスト</strong> </p> <div class='fc-event'>My Event 1</div> <div class='fc-event'>My Event 2</div> <div class='fc-event'>My Event 3</div> <div class='fc-event'>My Event 4</div> <div class='fc-event'>My Event 5</div> <input type="text" id="favtext" style="display:none;"> <input type="button" id="addurl" value="追加" onclick="bar();" style="display:none;"> <label> <img src="プラスオレンジ.png"> <input type="checkbox" style="display: none;" onchange="clickBtn1(this.checked)"> </label> </div>

こちらが動的に要素を作成するコードです。

javascript

//↓リストの追加 function bar() { // a 要素の作成と属性の指定 var newAnchor = document.createElement("a"); var newTxt = document.createTextNode( document.getElementById("favtext").value ); newAnchor.appendChild( newTxt ); // 要素の作成 var newDiv = document.createElement("div"); newDiv.appendChild ( newAnchor ); newDiv.className = "fc-event"; // リストに追加 var list = document.getElementById("external-events"); let refNode = document.getElementById("favtext"); list.insertBefore( newDiv, refNode ) }

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。