在智慧型手機發展飛速的現在拖放功能已經成為一種時尚,但是在我們的瀏覽器上是不是還缺少這種方便快捷的功能?在HTML5的新標準中就有關於拖放的標準,作為Html5標準的一部分,任何元素都可以被拖放。
一、瀏覽器支援情況
Internet Explorer 9、Firefox、Opera 12、Chrome 以及 Safari 5 支援拖放。
註:在 Safari 5.1.2 不支援拖放。
二、使用方法
首先,為了使元素可拖動,把draggable 屬性設定為true :
<img src="/static/imghwm/default1.png" data-src="img_logo.gif" class="lazy" draggable="true" / alt="小強的HTML5行動開發之路(16)-神奇的拖放功能" >
然後,規定元素被拖曳時,會發生什麼
start
讓rag ,並給該函數傳回一個拖曳物件
<img src="/static/imghwm/default1.png" data-src="img_logo.gif" class="lazy" id="drag1" draggable="true" ondragstart="drag(event)" style="max-width:90%" height="69" />
dataTransfer.setData() 方法設定被拖曳資料的資料類型和值:(我們將被拖曳物件的id傳給dataTransfer)
function drag(ev) { <span style="white-space:pre"> </span>ev.dataTransfer.setData("Text",ev.target.id); }
放到何處- ondragover
ondragover 事件規定在何處放置被拖曳的資料。
默認地,無法將資料/元素放置到其他元素中。如果需要設定允許放置,我們必須阻止對元素的預設處理方式。
這要透過呼叫 ondragover 事件的 event.preventDefault() 方法:
event.preventDefault()
當放置被拖曳資料時,會發生 drop 事件。
在上面,ondrop 屬性調用了一個函數,drop(event):
function drop(ev) { <span style="white-space:pre"> </span>ev.preventDefault(); <span style="white-space:pre"> </span>var data=ev.dataTransfer.getData("Text"); <span style="white-space:pre"> </span>ev.target.appendChild(document.getElementById(data)); }
程式碼解釋:
調用preventDefault() 來避免瀏覽器對資料的預設處理(drop 事件的預設行為是以連結形式開啟)
透過dataTransfer.getData("Text") 方法取得被拖曳的資料。此方法將傳回在 setData() 方法中設定為相同類型的任何資料。
被拖資料是被拖元素的id ("drag1")
把被拖元素追加到放置元素(目標元素)中
二、實例說明以上就是 小強的HTML5行動開發之路(16)-神奇的拖放功能的內容,更多相關內容請關注PHP中文網(www.php.cn)!

html5的div元素默认一行不可以放两个。div是一个块级元素,一个元素会独占一行,两个div默认无法在同一行显示;但可以通过给div元素添加“display:inline;”样式,将其转为行内元素,就可以实现多个div在同一行显示了。

html5中列表和表格的区别:1、表格主要是用于显示数据的,而列表主要是用于给数据进行布局;2、表格是使用table标签配合tr、td、th等标签进行定义的,列表是利用li标签配合ol、ul等标签进行定义的。

固定方法:1、使用header标签定义文档头部内容,并添加“position:fixed;top:0;”样式让其固定不动;2、使用footer标签定义尾部内容,并添加“position: fixed;bottom: 0;”样式让其固定不动。

html5中不支持的标签有:1、acronym,用于定义首字母缩写,可用abbr替代;2、basefont,可利用css样式替代;3、applet,可用object替代;4、dir,定义目录列表,可用ul替代;5、big,定义大号文本等等。

HTML5中画布标签是“<canvas>”。canvas标签用于图形的绘制,它只是一个矩形的图形容器,绘制图形必须通过脚本(通常是JavaScript)来完成;开发者可利用多种js方法来在canvas中绘制路径、盒、圆、字符以及添加图像等。

html5废弃了dir列表标签。dir标签被用来定义目录列表,一般和li标签配合使用,在dir标签对中通过li标签来设置列表项,语法“<dir><li>列表项值</li>...</dir>”。HTML5已经不支持dir,可使用ul标签取代。

3种取消方法:1、给td元素添加“border:none”无边框样式即可,语法“td{border:none}”。2、给td元素添加“border:0”样式,语法“td{border:0;}”,将td边框的宽度设置为0即可。3、给td元素添加“border:transparent”样式,语法“td{border:transparent;}”,将td边框的颜色设置为透明即可。

因为html5不基于SGML(标准通用置标语言),不需要对DTD进行引用,但是需要doctype来规范浏览器的行为,也即按照正常的方式来运行,因此html5只需要写doctype即可。“!DOCTYPE”是一种标准通用标记语言的文档类型声明,用于告诉浏览器编写页面所用的标记的版本。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器

DVWA
Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),