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

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

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 如何獲取class的元素,js怎麼獲取元素的class名?

非ie6,7,8可以直接用自帶的屬性 getelementsbyclassname,如果需要考慮相容,就需要自己寫了。下面是自己寫的 function getclassname obj,sname obj是要獲取元素的父級 else var atmp obj.getelementsbytagname...

在js中用物件獲取list的,在js中用物件獲取list的value

1 html中有如下input控制元件,如下。2 可以使用js通過id獲取,var value document.getelementbyid productname value。3 下面我們alert value 看一下是否獲取到input的value值,可以看到,input的value值已經成功...

怎麼通過js或者jquery獲取頁面裡面的內容

js document.getelementbyid 獲取指定 id 的元素 js document.getelementsbyclassname 獲取帶有指定類名的所有元素的節點列表 js document.getelementsbytagname 獲取標籤名稱的所有元素的節點列表 集合 節點陣列...