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

2021-07-08 22:15:37 字數 2292 閱讀 1713

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怎樣獲取某個特殊字元最後出現的位置

lastindexof 方法可返回 一個指定的字串值最後出現的位置,在一個字串中內的指定位置從後向前容搜尋。以上 的輸出 0 1 表示沒有匹配的6 js 獲取字串中最後一個斜槓後面的內容 var str asdasf asfaewf agaegr trer rhh var index str las...

怎麼獲取js陣列中的物件的屬性,js怎麼遍歷陣列中的物件的屬性

var contacts bob,mary console.log contacts 1 phonenumber 你定義的var contacts bob mary 它就是自 一個普bai通陣列,裡面的bob.mary帶引號它du就是個字串,zhi並不是你想象中的json陣列的合併,也就是說cont...

js解析json檔案獲取資料

根據返bai回的字串可以看出是du多個json拼接成的zhijs陣列的形式。如果返回的dao 只是字串須現將字回符串轉成js物件。使用答jquery的 each 方法迴圈js陣列取出每一個json物件的資料。str obj str json eval str 將字串轉換成js物件 each str ...