質問編集履歴
3
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,9 +18,13 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
+
・長押し(仮に1秒)されたらアイテムが移動されるようにしたい
|
22
|
+
|
23
|
+
・長押ししている間にカーソル or 指を動かした場合は画面スクロールとみなし、アイテム移動させない
|
24
|
+
|
25
|
+
|
26
|
+
|
21
|
-
|
27
|
+
上記のように書き換えられそうか否か分かる方がいらっしゃいましたらご教授頂けますと幸いです。
|
22
|
-
|
23
|
-
|
24
28
|
|
25
29
|
一応実装していたHTMLを下記に掲載しておきます(上記デモページとあまり差はありません)。
|
26
30
|
|
2
修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -188,7 +188,7 @@
|
|
188
188
|
|
189
189
|
---
|
190
190
|
|
191
|
-
shapeshift.jsの418〜443行目に、それらしいコードがありました(下記)。
|
191
|
+
[スクリプト](https://github.com/AshesOfOwls/jquery.shapeshift/blob/master/core/jquery.shapeshift.js)の418〜443行目に、それらしいコードがありました(下記)。
|
192
192
|
|
193
193
|
jQuery UIのstart、drag、stopを用いているようです。
|
194
194
|
|
1
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -183,3 +183,77 @@
|
|
183
183
|
|
184
184
|
|
185
185
|
```
|
186
|
+
|
187
|
+
### 追記
|
188
|
+
|
189
|
+
---
|
190
|
+
|
191
|
+
shapeshift.jsの418〜443行目に、それらしいコードがありました(下記)。
|
192
|
+
|
193
|
+
jQuery UIのstart、drag、stopを用いているようです。
|
194
|
+
|
195
|
+
startの部分が、長押しで実行されるようになれば良さそうです。
|
196
|
+
|
197
|
+
|
198
|
+
|
199
|
+
```JavaScript
|
200
|
+
|
201
|
+
start: function(e, ui) {
|
202
|
+
|
203
|
+
console.log('ドラッグ開始');
|
204
|
+
|
205
|
+
var selected_tag;
|
206
|
+
|
207
|
+
_this.globals.dragging = true;
|
208
|
+
|
209
|
+
$selected = $(e.target);
|
210
|
+
|
211
|
+
if (drag_clone) {
|
212
|
+
|
213
|
+
$clone = $selected.clone(false, false).insertBefore($selected).addClass(clone_class);
|
214
|
+
|
215
|
+
}
|
216
|
+
|
217
|
+
$selected.addClass(dragged_class);
|
218
|
+
|
219
|
+
selected_tag = $selected.prop("tagName");
|
220
|
+
|
221
|
+
$placeholder = $("<" + selected_tag + " class='" + placeholder_class + "' style='height: " + ($selected.height()) + "px; width: " + ($selected.width()) + "px'></" + selected_tag + ">");
|
222
|
+
|
223
|
+
$selected.parent().addClass(original_container_class).addClass(current_container_class);
|
224
|
+
|
225
|
+
selected_offset_y = $selected.outerHeight() / 2;
|
226
|
+
|
227
|
+
return selected_offset_x = $selected.outerWidth() / 2;
|
228
|
+
|
229
|
+
},
|
230
|
+
|
231
|
+
drag: function(e, ui) {
|
232
|
+
|
233
|
+
console.log('ドラッグ中');
|
234
|
+
|
235
|
+
if (!drag_timeout && !(drag_clone && delete_clone && $("." + current_container_class)[0] === $("." + original_container_class)[0])) {
|
236
|
+
|
237
|
+
$placeholder.remove().appendTo("." + current_container_class);
|
238
|
+
|
239
|
+
$("." + current_container_class).trigger("ss-setTargetPosition");
|
240
|
+
|
241
|
+
drag_timeout = true;
|
242
|
+
|
243
|
+
window.setTimeout((function() {
|
244
|
+
|
245
|
+
return drag_timeout = false;
|
246
|
+
|
247
|
+
}), drag_rate);
|
248
|
+
|
249
|
+
}
|
250
|
+
|
251
|
+
ui.position.left = e.pageX - $selected.parent().offset().left - selected_offset_x;
|
252
|
+
|
253
|
+
return ui.position.top = e.pageY - $selected.parent().offset().top - selected_offset_y;
|
254
|
+
|
255
|
+
},
|
256
|
+
|
257
|
+
|
258
|
+
|
259
|
+
```
|