05移動端事件

2022-03-09 11:32:04 字數 1238 閱讀 8108

一、移動端三大事件    

1、手指按下     ontouchstart

2、手指觸控     ontouchmove     

3、手指抬起     ontouchend

//

注意:在移動開發時,瀏覽器模擬器時好時壞,一般不用onx的方式繫結事件函式,要用事件繫結的方式(即第二種)

div.ontouchstart = function

(){};

div.addeventlistener('touchstart', function(){});

二、pc端事件在移動端(出現的問題)

1、pc端事件在移動端略慢,大概300ms左右

2、阻止pc事件

document.addeventlistener('touchstart', function

(ev));

作用與問題:

1、移動端的點透     問題:當上層元素發生點選時,下層元素也有點選特性。300ms之後,如果上層元素消失或隱藏,目標點會「漂移」到下層元素身上,就會觸發點選行為

解決:法1. 下層不要使用有焦點特性的元素(如a或者其他有點選行為的元素)     法2. 阻止pc事件

document.addeventlistener('touchstart', function

(ev));

p.addeventlistenr('touchstart', function());

2、解決ios10下meta中禁止使用者縮放功能

3、解決ios10下溢位隱藏問題

4、禁止系統預設的滾動條

5、禁止長按選中文字、,系統預設選單

6、問題:阻止了元素的焦點行為

//

解決方法(解決因為document的阻止事件導致的 input 框不能觸焦問題)

txt.addeventlistenr('touchstart', function

(ev));

1、touches:當前位於螢幕(包括dom元素之外)上的所有手指的列表

2、targettouches:位於當前dom 元素上(當前dom元素之外的無法獲取)的手指的列表

3、changedtouches:涉及當前事件的手指的乙個列表

例子:移動端無縫輪播切換

移動端事件

移動端事件 onclick 移動端也可以使用onclick事件,但是查閱資料上說會有300ms的延遲,究竟是不是有待考究。ontouchstart 相當於pc端的onmousedown,詳細可參照先前寫的文件 事件 下同 ontouchend 相當於pc端的onmouseup.ontouchmove...

移動端事件

一 touch 1 touchstart 當手指觸碰螢幕時發生,不管當前多少根手指 2 touchmove 當手指在螢幕上滑動時連續觸發,通常我們在滑屏頁面,會呼叫event的preventdefault 可以阻止預設情況的發生 阻止頁面滾動 3 touchend 當手指離開螢幕時觸發 4 touc...

移動端事件(一) 移動端事件和物件

在我們開始用原聲js寫移動端輪播前,我們先了解一些移動端的基礎。touch事件 touchevents物件 滑屏的思想與實現 移動端touch事件 let box document.queryselector box touchstart mousedown 手指觸碰元素 touchmove mou...