teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

ソース修正

2021/05/12 06:46

投稿

wonda
wonda

スコア69

title CHANGED
File without changes
body CHANGED
@@ -11,12 +11,19 @@
11
11
  iOSのCHROMEやsafari等ではinputイベントの発火タイミングが違うようにも思えるのですが、どなたか御教示頂けると幸いです。
12
12
  宜しくお願い致します。
13
13
 
14
+ ※ソースも修正しました
15
+
14
16
  ```javascript
15
- _.map(document.getElementsByClassName('convertNumberToLocaleString'), function (elm) {
17
+ var elms = document.getElementsByClassName('convertNumberToLocaleString');
18
+ for(var i = 0; i < elms.length; i++){
16
- elm.addEventListener('input', function (event) {
19
+ elms[i].addEventListener('input', function (event) {
17
- let value = event.target.value.replace(/[^0-9]/g,'');
20
+ let value = event.target.value.replace(/[^0-9]/g,'');
18
- event.target.value = (value === '' ? '' : Number(value).toLocaleString('ja-JP'));
21
+ event.target.value = (value === '' ? '' : Number(value).toLocaleString('ja-JP'));
19
- });
22
+ });
20
- elm.dispatchEvent(new Event('input'));
23
+ elms[i].dispatchEvent(new Event('input'));
21
- });
24
+ }
25
+ ```
26
+
27
+ ```HTML
28
+ <input type="text" value class="convertNumberToLocaleString" />
22
29
  ```

1

参考リンクの追加

2021/05/12 06:46

投稿

wonda
wonda

スコア69

title CHANGED
File without changes
body CHANGED
@@ -5,6 +5,9 @@
5
5
  PC上のCHROMEやsafariからのアクセスでは正常に機能しているのですが、表題の通りiOSのCHROMEやsafari等では異常挙動となってしまいます。
6
6
  例:11と入力すると111になる。さらに1を入力すると、111,111になる等
7
7
 
8
+ HTMLは他と干渉無し、jsライブラリインクルード等は無い状態で動作するjsfiddleのリンクを追記させて頂きます。
9
+ [jsfiddle](https://jsfiddle.net/y0d81nh6/2/)
10
+
8
11
  iOSのCHROMEやsafari等ではinputイベントの発火タイミングが違うようにも思えるのですが、どなたか御教示頂けると幸いです。
9
12
  宜しくお願い致します。
10
13