
102
|
第七章
for (var i=0; i < files.length; i++)
assert( files[i].type.match(/image.*/) )
});
其實,取得這些被選取檔案的資訊,用途並不只侷限於進行驗證。還可以讓使用者在
上傳檔案的同時,預覽檔案內容。此外,如果不希望在上傳檔案時鎖死 UI,可以透過
Ajax 程式來上傳檔案,同時還能顯示目前上傳進度。這些做法都會在稍後一一介紹。
拖曳與置放(Drag and Drop)
拖曳 / 置放功能,最早是由 Microsoft 於 1999 年所「設計」,並實作於 IE 5.0 當中,
IE 自此就一直有支援此功能。HTML5 也已將這項功能納入其規格中,現今 Safari、
Firefox,以及 Chrome 等瀏覽器都有仿照微軟的實作,新增此功能。不過坦白說,這份
規格的內容可說是一團混亂(
http://www.quirksmode.org/blog/archives/2009/09/the_html5_
drag.html
),程式設計師往往需要費一番功夫,才能滿足這份規格中一些莫名其妙的
需求。
和拖曳 / 置放功能相關的事件,至少有七個:
dragstart
、
drag
、
dragover
、
dragenter
、
dragleave
、
drop
,以及
dragend
。本書將會在稍後的章節逐一詳加介紹。
即使你所使用的瀏覽器不支援 HTML5 的檔案 API,也有機會能使用拖曳 / 置放功能
API。目前支援拖曳 / 置放功能的瀏覽器有: ...