iOS Safariにおけるclickクリックイベントの失効の解決方法

791 ワード

問題の原因:
微信公衆番号開発(マイクロステーション)中にjqueryのliveメソッドでバインドされたclickイベントクリックが無効(実行不可)
問題の説明
1つの要素にclickイベントを追加するために委任を使用する場合、イベントがdocumentまたはbodyに委任され、委任された要素がデフォルトでクリックできない(divspanなど)場合、clickイベントは無効になります.
解決策
解決策は4つあります.
  • は、clickイベントをターゲット要素(すなわち.target)上の
  • に直接バインドする.
  • ターゲット要素をまたはbutton等のクリック可能な要素
  • に置き換える.
  • は、clickイベントを非documentまたはbodyの親要素上の
  • に委任する.
  • ターゲット要素にスタイル規則cursor: pointer;
  • を追加
    後の2種類をお勧めします.解決策から,safariではクリック不可要素のクリックイベントが親要素に泡を出さないと推測される.cursor: pointerを追加することで、要素がクリック可能になりました.
    参照:https://happycoder.net/solve-ios-safari-click-event-bug/