スマホでjQueryのclickイベントが発生しないときの対処方法

はじめに

スマホで jQuery の click イベントが発生しないときの対処方法です。iOS の Safari でよく発生します。

現象

$("a").click(function () {
  // ...
});
iOS の Safari でイベントが発生しませんでした。Chrome のデベロッパーツールや他のブラウザでは正常に動作するため結構悩んでいました。

対処方法

$("a")
  .click(function () {
    // ...
  })
  .css("cursor", "pointer");
これで動きます。
PC ユーザーもカーソルがポインターになるため、PC アクセシビリティの観点からも利点があります。