iOS UIWebViewでjQueryのclickイベントが重複して発火する
※UIWebViewは2020/12移行更新できなくなりますのでWKWebViewへのアップデートが必要です
https://developer.apple.com/news/?id=12232019b
UIWebViewで以下のjQueryのページを動かすとクリックイベントが2回発火してしまう場合がありました。 ※1回しか発火しないときもある
$('#btn').on('click', () => { console.log('fire!'); });
対応
touchend
でも発火させ伝播を止める。
※ stopPropagation
, preventDefault
だけだと発火してしまうときがあった
$('#btn').on('touchend, click', (e) => { # デフォルトアクション、伝播の中断 e.stopPropagation(); e.preventDefault(); console.log('fire!'); });
そもそも WKWebView
に書き換えることで回避することができます。