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有時候會失靈,所以,getele...
js如何獲取動態的id,JS中獲取由JS動態生成的HTML控制元件的ID?
1 在我們的電腦上開啟軟體,新建一個html頁面。2 在html頁面建立一個id為xx,值為666的文字框,通過var v document.getelementbyid xx value 原生js方法來獲取文字框的值。3 在script中加上alert v 來彈框檢視原生js方法是否根據id獲取元...
js怎麼獲取元素,js怎麼獲取一個元素
妖豔美好 js認為html檔案會被瀏覽器解析為文件流,寫在html裡面的所有標籤元素都可以從文件流中讀取到。基於這個理論,js定義了一個document物件,專門用來處理文件流。要想獲取一個元素,有兩種方式 一種是根據元素的類名 class屬性值 另一種是根據元素的id。假設有一個input元素,j...