回答編集履歴

1

同じ回答が重複した為、削除できない為に変更

2021/03/16 11:42

投稿

Dounatterun
Dounatterun

スコア1

test CHANGED
@@ -1,111 +1,3 @@
1
- **自己解決しましたのでお知らせします**
1
+ 回答が重複しましたので以下ご参照ください
2
2
 
3
- 厳密にこれで良いのか解りませんが、**バブリング**と**イベント**に原因があったようです。
4
-
5
- とりあえずこれでiPhoneでの挙動Androidでの挙動が直りました・・・たぶん。
6
-
7
- ※逆に古すぎるスマホ・最新のスマホで挙動がどうかは未検証の為解りませんのでご了承ください。
8
-
9
- ※firefoxの開発ツール&エミュレーター(アドオオン:User-Agent Switcher)でも動作は正常です。
10
-
11
-
12
-
13
- **【原因】leaflet.locationlist.js 内のバブリングの問題と selectタグに対するイベントが change じゃなかったから・・・!?**
14
-
15
-
16
-
17
- **以下の部分を修正しました。**
18
-
19
-
20
-
21
- [https://github.com/mithron/leaflet.locationlist/blob/master/src/leaflet.locationlist.js](https://github.com/mithron/leaflet.locationlist/blob/master/src/leaflet.locationlist.js)
22
-
23
-
24
-
25
- ---
26
-
27
- **34行目**
28
-
29
- ```ここに言語を入力
30
-
31
- L.DomEvent.on(container, 'click', L.DomEvent.stopPropagation);
32
-
33
- ```
34
-
35
-
36
-
37
- 以下に変更
38
-
39
-
40
-
41
- ```ここに言語を入力
42
-
43
- L.DomEvent.on(container, 'touchstart', L.DomEvent.stopPropagation);//スマホ用iPhone用
44
-
45
- L.DomEvent.on(container, 'mouseup', L.DomEvent.preventDefault);//PC用
46
-
47
- //PC用は若干気持ち悪い気もしますがこうしておかないとマップを掴んだまま離さない現象が出る。
48
-
49
- //touchstartも反応してるのかもしれないですが・・・良く解りません。
50
-
51
- //間違ってらすみません・・・(^^;)
3
+ ※自己解決の回答が重複し為、削除できない為に変更
52
-
53
- ```
54
-
55
- ---
56
-
57
- **52・53行目**
58
-
59
- ```ここに言語を入力
60
-
61
- L.DomEven
62
-
63
- .addListener(this._fullist, 'click', this._onListChange, this);
64
-
65
- ```
66
-
67
-
68
-
69
- 以下に変更
70
-
71
-
72
-
73
- ```ここに言語を入力
74
-
75
- L.DomEvent.addListener(this._fullist, 'change', this._onListChange, this);
76
-
77
- //セレクトメニューなので素直にchangeにしたらあら素敵。一つ前表示現象が改善されました。
78
-
79
- ```
80
-
81
- ---
82
-
83
- **79~82行目**
84
-
85
- ```ここに言語を入力
86
-
87
- L.DomEvent
88
-
89
- // .addListener(option, 'click', L.DomEvent.stopPropagation)
90
-
91
- // .addListener(option, 'click', L.DomEvent.preventDefault);
92
-
93
- .addListener(option, 'click', this._onListChange, this);
94
-
95
- ```
96
-
97
-
98
-
99
- 以下に変更
100
-
101
-
102
-
103
- ```ここに言語を入力
104
-
105
- L.DomEvent.addListener(option, 'touchend', this._onListChange, this);//スマホ用
106
-
107
- L.DomEvent.addListener(option, 'mouseup', this._onListChange, this);//PC用
108
-
109
- //ここはclickのままでも問題無さそうですが一応変更しました。
110
-
111
- ```