项目需求是作一个spliter,拖动后调整左右两边的布局大小!html
昨天是在document上绑定mousedown ,mousemove ,mouseup事件,来实时计算,并设置相应元素的宽度,这是最直接想到的办法,就再也不多说了!html5
今天又看到一个html5属性:draggable,就多了解一下了。浏览器
浏览器中,每一个元素均可以拖动,默认是draggable="auto".此时它们的行为是浏览器赋予的,默认状况是:只有 选中文本,图片,超连接 是能够被拖动,而且拖动后,会把它的“值/连接地址”赋予拖动的事件中去。app
如要普通元素能够拖动 ,只须要增长 draggable="true" 的属性。经测试在IE,CHROME中,它是正常的,拖动时,会有一个浅的影子跟随!布局
<div id="app" draggable="true"> 你能够试试拖动我! </div>
但firefox浏览器下,却没反应!去MDN上查一下说明,才知道,标准规定,须知足如下状况才行:测试
一、增长draggable属性firefox
二、添加dragstart事件并设置drag data的值 code
<div draggable="true" ondragstart="event.dataTransfer.setData('text/plain', 'This text may be dragged')"> This text <strong>may</strong> be dragged. </div>
此时:firefox浏览器下能够拖动,但没有浅的影子,htm