質問編集履歴

4

誤記

2018/11/22 13:23

投稿

IkazoIchikawa
IkazoIchikawa

スコア38

test CHANGED
File without changes
test CHANGED
@@ -112,7 +112,7 @@
112
112
 
113
113
  この機能だけをoffにしてみましたが、やはり表題の問題が発生してしまうため、無関係かなと考えております、、、。
114
114
 
115
- (下記2~3の機能を、
115
+ (下記2~4の機能を、
116
116
 
117
117
  デベロッパーツールのコンソールで`havetoadjust = false;`とすればoffに出来るようにしておきました。
118
118
 

3

ファイル名を追記

2018/11/22 13:23

投稿

IkazoIchikawa
IkazoIchikawa

スコア38

test CHANGED
File without changes
test CHANGED
@@ -102,6 +102,8 @@
102
102
 
103
103
  SVG内の `<text>` 要素を `<textarea>` を使って編集するスクリプトです。
104
104
 
105
+ 全体の動きは`EditableNodes.js`で定義しています。
106
+
105
107
 
106
108
 
107
109
  `<text>` と `<textarea>` の動きの流れは以下のとおりですが、

2

SVGスクリプトの説明を追加

2018/11/22 13:19

投稿

IkazoIchikawa
IkazoIchikawa

スコア38

test CHANGED
File without changes
test CHANGED
@@ -96,6 +96,108 @@
96
96
 
97
97
 
98
98
 
99
+ ## 追記(このSVGのスクリプトについて)
100
+
101
+
102
+
103
+ SVG内の `<text>` 要素を `<textarea>` を使って編集するスクリプトです。
104
+
105
+
106
+
107
+ `<text>` と `<textarea>` の動きの流れは以下のとおりですが、
108
+
109
+ その動作内でおかしな動作していないかどうか確認するため、
110
+
111
+ この機能だけをoffにしてみましたが、やはり表題の問題が発生してしまうため、無関係かなと考えております、、、。
112
+
113
+ (下記2~3の機能を、
114
+
115
+ デベロッパーツールのコンソールで`havetoadjust = false;`とすればoffに出来るようにしておきました。
116
+
117
+ `havetoadjust = true;`とすればonに出来ます)
118
+
119
+
120
+
121
+ #### 1. ページloadの時に `line1_012345~` の内容をもつ `<textarea>` を追加
122
+
123
+ ```
124
+
125
+ 3160: var $3textareaElem = $3motherElement.append("textarea")
126
+
127
+ ~~~~~~~~~~~~~~~~~~~~~~中略~~~~~~~~~~~~~~~~~~~~~~~~~~
128
+
129
+ 3170: .classed("mousetrap",true)
130
+
131
+ 3171: .property("value", textareaValue)
132
+
133
+ 3172: .attr("wrap","off");
134
+
135
+ ```
136
+
137
+
138
+
139
+ #### 2. 追加した `<textarea>` 内でキータイプ(改行入力はAlt+Enter)を行うと、、、
140
+
141
+ ```
142
+
143
+ 3184: $3textareaElem.node().oninput = function(){
144
+
145
+ or
146
+
147
+ 3191: Mousetrap(textareaElem).bind(keySettings.insertLF, function(e){
148
+
149
+ ```
150
+
151
+
152
+
153
+ #### 3. `<textarea>` 内の文字列を、`<svg>` 要素内の同じ位置に存在する `<g>` 要素の `<text>` に反映
154
+
155
+
156
+
157
+ ```
158
+
159
+ 1326: if(renderByThisObj.text.text_content == ""){ //空文字の場合
160
+
161
+ 1327: $3SVGnodeElem_text.append("tspan").text("");
162
+
163
+ 1328:
164
+
165
+ 1329: }else{ //空文字ではない場合
166
+
167
+ 1330:
168
+
169
+ ~~~~~~~~~~~~~~~~~~~~~~中略~~~~~~~~~~~~~~~~~~~~~~~~~~
170
+
171
+ 1357: //draw 1 line
172
+
173
+ 1358: $3SVGnodeElem_text.append("tspan")
174
+
175
+ 1359: .attr("x", bindedData.coordinate.x)
176
+
177
+ 1360: .attr("dy", em)
178
+
179
+ 1361: .text(str);
180
+
181
+ 1362: }
182
+
183
+ 1363: }
184
+
185
+ ```
186
+
187
+
188
+
189
+ #### 4. 反映させた`<g>`要素内の`<text>`のスタイル&専有サイズを`<textarea>`に反映
190
+
191
+ ```
192
+
193
+ 3010: function adjustTextarea(bindedData, $3textareaElem){
194
+
195
+ ~~~~~~~~~~~~~~~~~~~~~~中略~~~~~~~~~~~~~~~~~~~~~~~~~~
196
+
197
+ 3131: }
198
+
199
+ ```
200
+
99
201
 
100
202
 
101
203
  とてもややこしい問題ですがこれ以上自力で調べられず、

1

タイトル重複

2018/11/22 13:16

投稿

IkazoIchikawa
IkazoIchikawa

スコア38

test CHANGED
File without changes
test CHANGED
@@ -1,7 +1,3 @@
1
- # 親要素で `overflow:hidden` を設定しても、子要素の `<textarea>` のサイズが親要素の範囲外に表示されてしまう
2
-
3
-
4
-
5
1
  ## 概要
6
2
 
7
3