1.携帯端末とPC端末との間の差
当然、何のマウスの動きを終了していない、何のマウスイベント。だから、OnMouseDownイベントのリスナーのような時に携帯側無効。
ダブルクリックイベントに応答して、モバイル端末は、のonclickイベントは300ミリ秒の遅延があり、次回を見てみたいので、300ミリ秒を再度クリックする必要があり、クリックするとみなされていない場合いずれかが、考えをダブルクリックします。
のみ理論的に300msの遅延が、実際には、この遅延は、各電話機に異なる場合があり、次のコードは、電話のonclickイベントの現在の遅延をテストします
<script>
var now
document.ontouchstart = function(){
// 返回 1970 年 1 月 1 日至今的毫秒数
now = new Date().getTime()
console.log("touchstrat")
}
document.onclick=function(){
// 计算延时
var delay = new Date().getTime() - now
console.log("onclick")
console.log(delay+"ms")
// 真机测试使用alert()
}
</script>
テストの後、クロムシミュレータ実質的に88から120の間のonclick遅延
実機iphone6spには、onclickの遅延は約80で安定
2.touchイベント
タッチイベントが延期されていない、,, PCエンドをサポートしていない携帯端末に固有である
:彼は次のイベントがある
touchstart:タッチイベントの開始
touchmoveを:指すべり(連続トリガ)
touchstendを:イベントの最後には触れ
touchcancalを:予期しないタッチ割り込みイベント(ハーフウェイの電話?)
基本的な使い方:
<script>
document.addEventListener("touchstart",function(){
console.log("touchstart")
})
document.addEventListener("touchmove",function(){
console.log("touchmove")
})
document.addEventListener("touchend",function(){
console.log("touchend")
})
</script>
3.touchEventイベントオブジェクト
タッチイベントのイベントオブジェクトは、現在のイベントに関する情報の範囲を記述する
e.touches:画面上のすべてのタッチポイントの現在のリスト
targetTouches:オブジェクト上のすべてのタッチポイントの現在のリスト
のトリガ・イベントのタッチポイントを変更するには、コレクション:changeTouches
各タッチイベントには、次のプロパティが含まれています
clientXは:ビューポートでターゲットをタッチx座標。
clientYプロパティ:y座標として、口の中でターゲットをタップ。
識別子:ユニークIDは、タッチを識別します。
pageX:Xページ上のタッチターゲットの座標。
pageY:ページのy座標にターゲットをタッチします。
がscreenX:X画面の座標にターゲットをタップ。
screenYの:y座標画面でターゲットをタップ。
対象:タッチDOMノードのターゲット。
4.Aリンクは、プログラムをジャンプ
移動クリックイベントリンクエンド遅延、予防することによってリンクされ、デフォルトのイベントをマスクするイベントをジャンプtouchstartこと