js移動端獲取觸控位置,JS移動端獲取觸控位置

2021-07-08 22:15:36 字數 2292 閱讀 5998

1樓:

2、通過getselection可以獲得一個selection物件,如圖。因為是一個游標,anchor和focus(選擇的起點和終點)一樣,偏移也一樣。

3、如圖,則進行文字選擇,而且是跨行選擇,以第一行為起點,第二行為終點,選擇文字。

4、再次getselection,可以看到anchornode是起始節點,anchoroffset是起始偏移,focus是結束的。

5、如果從第二行倒著選到第一行,使用getselection獲取選擇區域,可以看到anchornode和focusnode和剛才相比,互換了。

6、使用一個node的textcontent屬性可以獲得文字。結合focusoffset和anchoroffset,實際上可以獲取游標/選中區域前後的文字。

7、將起始和結束位置設定為相同,而且都在結束節點的末尾。即變成閃爍游標。

2樓:風翼殘念

document.addeventlistener('touchmove', function(event) , false);

//touchstart事件

function touchsatrtfunc(evt) catch (e) else if(y - starty < -100) catch (e) catch (e) catch (e) {

alert("不支援touchevent事件!" + e.message);

擴充套件資料:

js移動端上的觸控事件:

基本事件:

touchstart //手指剛接觸螢幕時觸發;

touchmove //手指在螢幕上移動時觸發;

touchend //手指從螢幕上移開時觸發;

下面這個比較少用:touchcancel //觸控過程被系統取消時觸發。

每個事件都有以下列表,比如touchend的targettouches當然是 0 :

touches //位於螢幕上的所有手指的列表;

targettouches //位於該元素上的所有手指的列表;

changedtouches //涉及當前事件的所有手指的列表。

每個事件有列表,每個列表還有以下屬性:

其中座標常用pagex,pagey:

pagex //相對於頁面的 x 座標;

pagey //相對於頁面的 y 座標;

clientx //相對於視區的 x 座標;

clienty //相對於視區的 y 座標;

screenx //相對於螢幕的 x 座標 ;

screeny //相對於螢幕的 y 座標;

identifier // 當前觸控點的惟一編號;

target //手指所觸控的 dom 元素 。

event.preventdefault() //阻止觸控時瀏覽器的縮放、滾動條滾動;

var supporttouch = "createtouch" in document //判斷是否支援觸控事件。

單點觸控事件 :

如果想在桌面上模擬單點觸控事件的話,試一下phantom limb,該程式在網頁上模擬觸控事件並提供一隻巨手來引導。

另外還有touchable這一jquery外掛,該外掛跨平臺地統一了觸控和滑鼠事件

多點觸控事件:

touch事件:

touch事件可以分為單點觸控和多點觸控兩種,單點觸控高階機一般都支援,safari2.0、android3.0以上的版本支援多點觸控。

支援最多5個手指同時觸控式螢幕幕,ipad最多支援11個手指同時觸控式螢幕幕, 我們可以採用以下的事件模型捕獲這些事件:ontouchstart,ontouchmove,ontouchend,ontouchcancel。

當使用者按下手指在螢幕上,ontouchstart會被觸發,當使用者移動一個或多個手指的時候,ontouchmove會被觸發,當使用者移走手指, ontouchend被觸發。

當一些更高階別的事件發生的時候,例如,alert,有**打來或者有 推送的訊息提示的時候會取消當前的touch操作,即觸發ontouchcancel。

當開發一個web game的時候,ontouchcancel很重要,可以在ontouchcancel觸發的時候暫停遊戲或者儲存遊戲。

gesture事件:

gesture事件的執行原理與touch事件相同,只是gesture事件僅當螢幕上存在至少兩個手指時觸發,所以safari2.0、android3.0以上版本支援, 手勢具備諸多優勢。

可以幫助我們測量兩指放縮和旋轉操作,事件模型如下:ongesturestart,ongesturechange,ongestureend。

js動態獲取id的問題,js獲取div的id值的問題

html規則要求id名稱不能相同,會衝突的。如果你要選擇多個物件要用tag或者class。不要使用id屬性。常用的dom方法有 getelementsbyclassnamegetelementsbytagname getelementsbyclassname有時候會失靈,所以,getelements...

關於js讀取cookie,如何js獲取cookie並在html上顯示使用者名稱

在.net裡面,寫到客戶端的時候先把cookies的值 urlencode一下 在js裡面讀出來的時候,先用 unescape 反解碼一下 net system.web.httpcookie cuname new system.web.httpcookie username server.urlen...

js怎樣獲取某個特殊字元最後出現的位置

使用 lastindexof 函式,示例 abcdabc lastindexof a 返回結果 4 以上,請採納 js,如何獲取字串中間出現位置?100 window.onload function alert indexarr var str 試驗測試 試一下測試 indexarr for var...