通過對(duì)滑動(dòng)事件(touchmove)設(shè)置e.preventDefault()和e.stopPropagation()函數(shù)實(shí)現(xiàn)功能。以及禁止解除,即把touchmove改成touchstart即可。
專注于為中小企業(yè)提供成都網(wǎng)站建設(shè)、網(wǎng)站建設(shè)服務(wù),電腦端+手機(jī)端+微信端的三站合一,更高效的管理,為中小企業(yè)淮陰免費(fèi)做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動(dòng)了成百上千企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實(shí)現(xiàn)規(guī)模擴(kuò)充和轉(zhuǎn)變。
具體實(shí)現(xiàn)思路及代碼如下:
1、打開一個(gè)HTML頁面,頁面只有一個(gè)h標(biāo)簽,并在瀏覽器打開開發(fā)者調(diào)試界面。安卓和IOS調(diào)試均正常。
2、添加關(guān)鍵函數(shù),滑動(dòng)時(shí)輸出字符。(此時(shí),將e.preventDefault()和e.stopPropagation()兩個(gè)函數(shù)注釋)
3、此時(shí),開發(fā)者工具console輸出:
4、此時(shí),將第三步的注釋去掉,將正常的console注釋,如下:
5、此時(shí)的頁面輸出如下:(滑動(dòng)時(shí)返回錯(cuò)誤)
擴(kuò)展資料:
js移動(dòng)端事件:
1、touchstart:當(dāng)手指觸摸屏幕時(shí)觸發(fā);即使已經(jīng)有一個(gè)手指放在了屏幕上也會(huì)觸發(fā)
2、touchmove:當(dāng)手指在屏幕上滑動(dòng)時(shí)連續(xù)地觸發(fā)。在這個(gè)世界發(fā)生期間,調(diào)用preventDefault()可以阻止?jié)L動(dòng)。
3、touchend:當(dāng)手指在屏幕上移開時(shí)觸發(fā)。
4、touchcancel:當(dāng)系統(tǒng)停止跟蹤觸摸時(shí)觸發(fā)。
上面這幾個(gè)事件都會(huì)冒泡,也都可以取消。
雖然這些觸摸事件沒有在DOM規(guī)范中定義,但它們卻是以兼容DOM的方式實(shí)現(xiàn)的。因此,每個(gè)觸摸事件的event對(duì)象都提供了鼠標(biāo)事件中常見的屬性:
bubbles,cancelable,view,clientX,clientY,screenX,screenY,detail,altKey,shiftKey,ctrlKey和metaKey。
除了常見的DOM屬性外,觸摸世界還包含下列三個(gè)用于跟蹤觸摸的屬性。
1、touches:表示當(dāng)前跟蹤的觸摸操作的Touch對(duì)象的數(shù)組。
2、targetTouches:特定于事件目標(biāo)的Touch對(duì)象的數(shù)組。
3、changedTouches:表示字上次觸摸以來發(fā)生了什么改變的Touch對(duì)象的數(shù)組。
jquery中有一個(gè)hover 類似于 mouseover 和mouseout 你可以用它控制顯示 show() 隱藏 hide()
jquery mobile中獲取觸摸坐標(biāo)的方法:
思路:利用jquery.mobile.js(下載)獲取GPS設(shè)備的經(jīng)緯度信息,然后顯示輸出在sogou地圖上。
1.加載jquery.min.js
2.加載jquery.mobile.min.js
3.var?gps?=?navigator.geolocation;調(diào)用GPS
!DOCTYPE?html
html
head
meta?charset="utf-8"?/
title手機(jī)GPS定位獲取/title
script?type="text/javascript"?src="jquery.min.js"/script
script?type="text/javascript"?src="jquery.mobile.min.js"/script
script?type="text/javascript"?src=""/script
script?type="text/javascript"
function?initialize(GX,GY)?{
var?map?=?new?sogou.maps.Map(document.getElementById("map_canvas"),?{
zoom:?15,?//放大級(jí)別
center:?new?sogou.maps.LatLng(GX,GY),//設(shè)置中心點(diǎn)
mapTypeId:?sogou.maps.MapTypeId.ROADMAP
});
var?myLatlng?=?new?sogou.maps.LatLng(GX,GY);
var?marker1=new?sogou.maps.Marker({
position:?myLatlng,?
map:?map,
title:"經(jīng)緯度坐標(biāo):"+myLatlng,
label:{visible:true,align:"TOP"}
});
}
function?startgps(){
var?gps?=?navigator.geolocation;
if?(gps){
gps.getCurrentPosition(showgps,
function(error){
alert("Got?an?error,?code:?"?+?error.code?+?"?message:?"+?error.message);
},{maximumAge:?10000}//超時(shí)為10000毫秒
);?
}else{
showgps();
}
}
function?showgps(position){
if?(position)???????{
var?latitude?=?position.coords.latitude;
var?longitude?=?position.coords.longitude;
initialize(latitude,longitude);//調(diào)用Sogou地圖顯示坐標(biāo)
}else{
alert("position?is?null");
}
}
/script
style?type="text/css"??
body{height:100%;margin:0px;padding:0px}
#map_canvas{height:100%;height:500px;}
/style??
/head
body?onload="startgps();"
div?id="map_canvas"/div
/body
/html