要素は、エンドIOSに追加されると、イベントがデリゲートにある場合は、イベントをクリックする document
か、 body
上、および要素の委託(などのdiv、スパン、など)クリッカブルデフォルトではありません、そのイベントが失敗しますクリックしてください。
デモ:
<!DOCTYPE HTML > < HTML LANG = "EN" > < 頭> < タイトル> </ タイトル> < メタ文字コード= "UTF-8" > </ ヘッド> < 身体> < divのクラス= "コンテナ" > </ DIV > < divのクラス= "ターゲット" >点击我!</ DIV > </ DIV > <= "https://cdn.bootcss.com/jquery/2.2.4/jquery.js" > </ スクリプト> < スクリプト> $(関数(){ // $(文書).on( 'クリック'、 ' .TARGET」、機能(){}) $(' 身体' ).on(' クリック' 、' .TARGET ' 、機能(){ 警告(' 我被点击了!!! ' ); }); }) ; </ スクリプト> </ ボディ> <
ソリューション
6つの解決策があります。
-
click
イベントは、直接(つまり、ターゲット要素に特異的に結合する上).target
-
ターゲット要素に置き換えられます か 、そのようなクリッカブルなどの要素を
<a>
<button>
-
空のターゲット要素を追加するには
onclick=""
(<DIV CLASS = "ターゲット" onclickの= ""> !私をクリックしてください。</ DIV> ) -
click
変更touchend
またはtouchstart
(ノートプラスのpreventDefault) -
click
非委託の要素document
またはbody
親要素 -
ターゲット要素のスタイルルールを追加するには
cursor: pointer;
(カーソル:ポインタ; -webkit-TAP-ハイライトの色:透明;)
後者の二つが推奨されます。非クリッカブル要素は、イベントが親要素にバブリングされていない]をクリックし、Safariで推測しています。添加することにより、 cursor: pointer;
要素がクリック可能になるようにします。
サプリメント
問題
iOSのシステム input
と入力内の要素 cursor: pointer;
のiOSシステムが必要とするので失敗、 cursor
中に有効にするプロパティを click
イベントが発生することができません
ソリューション
-
設定、フォントサイズ:0;
-
click
変更touchend
(注プラスのpreventDefault)