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

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

新規登録して質問してみよう
ただいま回答率
85.48%
jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

jQuery

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

Q&A

解決済

1回答

765閲覧

draggable表にのみドラッグでき、他のdraggable要素にはドラッグできないようにしたい

annaPanda

総合スコア130

jQuery UI

jQuery UI はjQuery公式のインターフェースライブラリであり、対話型のウェブアプリケーションを作る際に役立ちます。

jQuery

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

0グッド

0クリップ

投稿2020/03/26 04:34

編集2020/03/26 04:45

scopeなどをいろいろ試してもうまく行きませんでした。

<div class="draggable"> <p>ドラッグ要素</p> </div> <div class="draggable"> <p>ドラッグ要素</p> </div> <table> <tr> <th class="table"></th> <th class="table"></th> <th class="table"></th> <th class="table"></th> <th class="table"></th> </tr> <tr> <td class="table"></td> <td class="table"></td> <td class="table"></td> <td class="table"></td> <td class="table"></td> </tr> </table>
$(function() { $(".draggable").draggable({ revert: "invalid", snap: ".table", snapMode: 'inner', }).droppable({}); $(".table").droppable({ drop: function (e, ui) { let $srcObj = $(ui.draggable[0]); $srcObj.offset($(this).offset()); return false; }, }); });
.table{ height: 200px; background-color: limegreen; width: 200px; outline: 1px solid blue; } .draggable{ width: 200px; height: 200px; background-color: red; display: inline-block; position: relative; top: 0; }

イメージ説明

現状だと二つの赤を重ねることができてしまいます。

わかる方いらっしゃいましたら、よろしくお願いいたいします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yambejp

2020/03/26 04:36

HTMLは例示できますか?
annaPanda

2020/03/26 04:46

hamlになってましたね、すみません。 haml→HTMLの変換ツールがすぐに見つからなかったので手作業で変換しましたが、おそらく大丈夫だと思います。
annaPanda

2020/03/26 04:51

haml→HTMLの変換、問題なく動作すること確認いたしました。
yambejp

2020/03/26 04:53

よくわからないので想像で回答つけておきました
guest

回答1

0

ベストアンサー

ちょっと状況がわかりませんが、jQuery-ui使っていいみたいなので
こんな感じでたとえばクラスをつかって制限したりします

投稿2020/03/26 04:52

yambejp

総合スコア114843

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

annaPanda

2020/03/26 05:20 編集

お、ありがとうございます、 まさにこれです。 ちなみに、 "hoverClass":'imgover',と "accept": '.dragItem',がなくても動作するのですが、必須ですか?
yambejp

2020/03/26 05:33 編集

いろいろ拡張しながら書いてるソースの抜粋なので よけいなデータがついているかもしれませんね 不要なものは適当にはずしちゃってください hoverClassがないと、いまどこに落とそうとしているという 色がつかないと思いますが・・・
annaPanda

2020/03/26 07:57

なるほど、 ちなみにドラッグ要素がテーブルの一つの枠より大きい場合に、ドロップしてもテーブルの枠のサイズが変わらないようにしようとすると、この子要素にするやり方では難しいですかね? https://gyazo.com/939df696ac5c1804be148c541522d0c5
yambejp

2020/03/26 08:12

> テーブルの枠のサイズが変わらない ・ドロップしたものを小さく表示 ・オーバーフローしたところを表示しない ・その他 どうすればいいのでしょうか?
annaPanda

2020/03/26 08:32

本当に親切にありがとうございます。 オーバーフローしたところを表示して隣にも重なった状態を作りたいです。 レストランのテーブル予約の帯を作っていて、1席2.5時間です。でも開始時間は0.5時間単位で取れます。 同じ席に別の予約は重なってとれません。これをつくりたいんです。。。
yambejp

2020/03/26 08:44

.tableのwidthを200pxとするなら max-width:200pxも指定してやればいいですよ
annaPanda

2020/03/26 09:56

なるほど、 でもこれだと隣のtdであると重なれてしまうんですよね。 https://gyazo.com/2d22fd29d1075b8baef78285d3a61d0e tableにidを振って1をプラスしたidにも重なれないようにとか考えましたが、うまくゆきません。。。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問