内部にリンクがあるbootstrapボタンを作成しました。これは次のようになります:
カーソルを合わせると:
これはボタン内のコードです:
<div class="s-8"><button type="button" onClick="javascript:location.href = 'administration.php';">Administration</button></div>
ログアウトボタン:
<div class="s-4"><button type="button" onClick="javascript:location.href = 'logout.php';">Logout</button></div>
このボタンは、PC(IE、SAFARI、FireFox、Chrome、Opera)ブラウザーで正常に機能します(管理ページに移動しますが、モバイルデバイスでは機能しません。
ログアウトボタンについても同じことを行いましたが、PCおよびモバイルデバイスで正常に動作します。私は今困惑しています。
問題は、モバイルデバイスで登録されないonClickイベントを使用していることである可能性があります(クリックしない-タップするため)。
この回答は、モバイルで機能する「touchstart」イベントの使用方法を説明しています。
これは奇妙な答えかもしれません。ただし、次のスタイルを指定しないと、モバイルクリックイベントが機能しない場合があります。cursor:pointer;ボタンに。
モバイルのclickEventの処理方法は大きく異なります。最初の「クリック」または「タップ」は、探しているクリックではなく、ホバーとして解釈される場合があります。
ボタンのCSSスタイルを次のように設定してみてください:cursor:pointer;
残念ながらcursor:pointer;
の設定もtouchstart
イベントリスナーの追加も
$(document).ready(function() {
$('#button_id').on('click touchstart', function() {
window.location.href = "/url";
});
});
@ noa-devと@GitPaulsが提案したように私のために働いた。参考までに、私は自分の電話7(ios11.4およびsafari)でテストしました
実用的な解決策:ボタンのz-index
に大きな正の数を設定すると、ボタンが機能するようになります。
#button_id{
z-index: 99;
}
ダニエルアクリーのおかげで解決策が見つかりましたhttps://foundation.zurb.com/forum/posts/3258-buttons-not-clickable-on-iphone 。これがすべてのiphone /モバイルデバイスに一般化するかどうかはわかりません。