🐛
iOS Safari で HTML Popover が期待通りに閉じない
HTML Popover 属性 は Safari 17 (iOS17 / macOS Sonoma)からサポートされている。
macOS では試した限り期待通りに動作するようだが,iOS Safari (およびWKWebView) では,"Light Dismiss" (ポップオーバーの外をタップするとポップオーバーが非表示になる)が動作しない。
Webkit Bugzilla でも議論されており,どうやらバグらしい。
Adding a pointerdown event listener to document.body, "fixes" the issue.
というコメントがあり,確かに以下のJS[1]を追加するとなぜか期待通りの動作になった。当座の処置としては有効そうである。
window.onload = function() {
document.addEventListener("pointerdown", function() {})
};
-
JavaScript に関しては殆ど素人なので,このコードが適切かどうかはわからない。空の無名関数の代わりに null を渡すと動作しなかった. ↩︎
Discussion