H5新增API:拖拽,文件API

拖拽API

屬性

  • draggable 設(shè)置為 draggable=true 可以被拖拽

拖拽事件

  • ondragstart 開始被拖動(dòng)的時(shí)候觸發(fā) 綁定給被拖動(dòng)的元素
  • ondrag 拖動(dòng)的過程總被連續(xù)觸發(fā) 綁定給被拖動(dòng)的元素
  • ondragend 停止拖動(dòng)的時(shí)候的觸發(fā) 綁定給被拖動(dòng)的元素
  • ondragenter 當(dāng)被拖拽的元素進(jìn)入到目標(biāo)元素 綁定給目標(biāo)元素 用于進(jìn)入目標(biāo)去區(qū)域時(shí) 目標(biāo)區(qū)域樣式改變
  • ondrageover 當(dāng)被拖拽的元素在目標(biāo)元素內(nèi)移動(dòng) 綁定給目標(biāo)元素 若想觸發(fā)drop時(shí)間,必須阻止默認(rèn)動(dòng)作 event.preventDefault()
  • ondrageleave 當(dāng)被拖拽的元素離開目標(biāo)元素 綁定給目標(biāo)元素
  • ondrop 在目標(biāo)元素內(nèi)停止拖拽 綁定給目標(biāo)元素

dataTransfer 對象

  • e.dataTransfer.setData('傳輸名',傳輸對象) 用于提交傳輸對象
  • e.dataTransfer.getData('傳輸名') 用于獲取傳輸對象
  • e.dataTransfer.files 獲取被drop的外部文件

文件API

上傳input

  • 多文件上傳 設(shè)置屬性 multiple
  • 限制上傳文件的格式 屬性 `accept= " image/jpeg text/html image/* "

FileList對象

  • 是用戶上傳或者拖拽到瀏覽器的 文件的集合
  • 可以通過 inputElement.files 來獲取
  • 是一個(gè)類數(shù)組對象 由File對象組成

File對象

  • 屬性 name
  • 屬性 size
  • 屬性 type
  • 屬性 lastModified
  • 屬性 lastModifiedDate

FileReader

屬性
  • result 讀取結(jié)果
  • error 錯(cuò)誤內(nèi)容
  • readyState 讀取狀態(tài)
方法
  • readAsText() 把文件讀取為文本
  • readAsDataURL() 讀取為base64圖片編碼
  • readAsArrayBuffer()
  • readAsBinaryString()
  • abort() 終止讀取操作
事件
  • onerror 讀取錯(cuò)誤時(shí)觸發(fā)
  • onabort 讀取中斷時(shí)觸發(fā)
  • onloadstart 讀取開始時(shí)觸發(fā)
  • onload 讀取成功時(shí)觸發(fā)
  • onloadend 讀取結(jié)束時(shí) 不論成功或失敗
  • onprogress 讀取過程中多次觸發(fā)
綜合使用:
    var box = document.querySelector("#box");
    
    box.addEventListener("dragover", function(e) {
        e.preventDefault();
    }, false);

    box.addEventListener("drop", function(e) {
        e.preventDefault();

        [].forEach.call(e.dataTransfer.files, function(itemFile) {
            console.log(e.dataTransfer.files)
            readImage(itemFile);
        })

    }, false);

    function readImage(fileObj) {
        var frObj = new FileReader();

        frObj.onload = function() {
            var img = document.createElement("img");
            img.src = frObj.result;
            document.querySelector("#box").appendChild(img);
        }

        frObj.readAsDataURL(fileObj);
    }

XHR2

FormData

構(gòu)造

  • new FormData([formElement])

方法

  • append(key, value)
  • delete(key)
  • get(key)
  • set(key,value)
  • ....

在Ajax中的使用

  • XHR 作為send()方法的參數(shù) 發(fā)送post請求
  • jquery
    • 設(shè)置data的值為 FormData對象
    • 還需要設(shè)置 processData:falsecontentType:false

XHR2新增屬性

  • timeout

XHR新增的事件

  • timeout 請求超時(shí)時(shí)觸發(fā)
  • error 請求失敗時(shí)
  • abort 請求中斷時(shí)
  • load 響應(yīng)成功后
  • loadstart 開始請求時(shí)
  • loadend 結(jié)束響應(yīng)時(shí)
  • progress 請求響應(yīng)過程中連續(xù)觸發(fā)

ProgressEvent

  • 屬性 loaded 當(dāng)前下載了多少字節(jié)
  • 屬性 total 總的字節(jié)數(shù)
  • 屬性 lengthComputable 長度是否可計(jì)算

XMLHttpRequestUpload 對象

作用

  • 提供了各種事件來監(jiān)聽文件上傳的進(jìn)度
  • 常用progress事件批狐。 獲取progressEvent

構(gòu)建

  • xhr.upload

事件

  • error
  • timeout
  • load
  • loadstart
  • loadend
  • abort
  • progress
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末扇售,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子嚣艇,更是在濱河造成了極大的恐慌承冰,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件食零,死亡現(xiàn)場離奇詭異,居然都是意外死亡贰谣,警方通過查閱死者的電腦和手機(jī)迁霎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進(jìn)店門考廉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來携御,“玉大人,你說我怎么就攤上這事涮坐∈木” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵捷雕,是天一觀的道長非区。 經(jīng)常有香客問我盹廷,道長俄占,這世上最難降的妖魔是什么淆衷? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任淘讥,我火速辦了婚禮佳头,結(jié)果婚禮上鹰贵,老公的妹妹穿的比我還像新娘碉输。我一直安慰自己亭珍,他們只是感情好枝哄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布挠锥。 她就那樣靜靜地躺著侨赡,像睡著了一般。 火紅的嫁衣襯著肌膚如雪菜秦。 梳的紋絲不亂的頭發(fā)上舶掖,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天,我揣著相機(jī)與錄音主慰,去河邊找鬼鲫售。 笑死,一個(gè)胖子當(dāng)著我的面吹牛藐不,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雏蛮,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼挑秉,長吁一口氣:“原來是場噩夢啊……” “哼犀概!你這毒婦竟也來了夜惭?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤木蹬,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后尘颓,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體晦譬,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年卧土,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了尤莺。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片生棍。...
    茶點(diǎn)故事閱讀 40,096評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖友酱,靈堂內(nèi)的尸體忽然破棺而出柔纵,到底是詐尸還是另有隱情,我是刑警寧澤或详,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布郭计,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏杠人。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一辑莫、第九天 我趴在偏房一處隱蔽的房頂上張望各吨。 院中可真熱鬧袁铐,春花似錦横浑、人聲如沸屉更。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽萨脑。三九已至,卻和暖如春职车,著一層夾襖步出監(jiān)牢的瞬間蛛芥,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工仅淑, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人赡鲜。 一個(gè)月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓庐船,卻偏偏與公主長得像,于是被迫代替她去往敵國和親揩瞪。 傳聞我的和親對象是個(gè)殘疾皇子篓冲,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容