質問編集履歴
3
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -8,8 +8,10 @@
|
|
8
8
|
|
9
9
|
次に[スクリプト](https://github.com/AshesOfOwls/jquery.shapeshift/blob/master/core/jquery.shapeshift.js)を覗いてみましたが、どこの部分がアイテムのクリックを司っているのか分かりません。
|
10
10
|
|
11
|
+
・長押し(仮に1秒)されたらアイテムが移動されるようにしたい
|
11
|
-
|
12
|
+
・長押ししている間にカーソル or 指を動かした場合は画面スクロールとみなし、アイテム移動させない
|
12
13
|
|
14
|
+
上記のように書き換えられそうか否か分かる方がいらっしゃいましたらご教授頂けますと幸いです。
|
13
15
|
一応実装していたHTMLを下記に掲載しておきます(上記デモページとあまり差はありません)。
|
14
16
|
よろしくお願いいたします。
|
15
17
|
|
2
修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -93,7 +93,7 @@
|
|
93
93
|
```
|
94
94
|
### 追記
|
95
95
|
---
|
96
|
-
shapeshift.jsの418〜443行目に、それらしいコードがありました(下記)。
|
96
|
+
[スクリプト](https://github.com/AshesOfOwls/jquery.shapeshift/blob/master/core/jquery.shapeshift.js)の418〜443行目に、それらしいコードがありました(下記)。
|
97
97
|
jQuery UIのstart、drag、stopを用いているようです。
|
98
98
|
startの部分が、長押しで実行されるようになれば良さそうです。
|
99
99
|
|
1
追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -90,4 +90,41 @@
|
|
90
90
|
enableTrash: true
|
91
91
|
});
|
92
92
|
|
93
|
+
```
|
94
|
+
### 追記
|
95
|
+
---
|
96
|
+
shapeshift.jsの418〜443行目に、それらしいコードがありました(下記)。
|
97
|
+
jQuery UIのstart、drag、stopを用いているようです。
|
98
|
+
startの部分が、長押しで実行されるようになれば良さそうです。
|
99
|
+
|
100
|
+
```JavaScript
|
101
|
+
start: function(e, ui) {
|
102
|
+
console.log('ドラッグ開始');
|
103
|
+
var selected_tag;
|
104
|
+
_this.globals.dragging = true;
|
105
|
+
$selected = $(e.target);
|
106
|
+
if (drag_clone) {
|
107
|
+
$clone = $selected.clone(false, false).insertBefore($selected).addClass(clone_class);
|
108
|
+
}
|
109
|
+
$selected.addClass(dragged_class);
|
110
|
+
selected_tag = $selected.prop("tagName");
|
111
|
+
$placeholder = $("<" + selected_tag + " class='" + placeholder_class + "' style='height: " + ($selected.height()) + "px; width: " + ($selected.width()) + "px'></" + selected_tag + ">");
|
112
|
+
$selected.parent().addClass(original_container_class).addClass(current_container_class);
|
113
|
+
selected_offset_y = $selected.outerHeight() / 2;
|
114
|
+
return selected_offset_x = $selected.outerWidth() / 2;
|
115
|
+
},
|
116
|
+
drag: function(e, ui) {
|
117
|
+
console.log('ドラッグ中');
|
118
|
+
if (!drag_timeout && !(drag_clone && delete_clone && $("." + current_container_class)[0] === $("." + original_container_class)[0])) {
|
119
|
+
$placeholder.remove().appendTo("." + current_container_class);
|
120
|
+
$("." + current_container_class).trigger("ss-setTargetPosition");
|
121
|
+
drag_timeout = true;
|
122
|
+
window.setTimeout((function() {
|
123
|
+
return drag_timeout = false;
|
124
|
+
}), drag_rate);
|
125
|
+
}
|
126
|
+
ui.position.left = e.pageX - $selected.parent().offset().left - selected_offset_x;
|
127
|
+
return ui.position.top = e.pageY - $selected.parent().offset().top - selected_offset_y;
|
128
|
+
},
|
129
|
+
|
93
130
|
```
|