全局属性 draggable 是一个枚举类型的属性,用于标识元素是否允许使用 拖放操作API 拖动。
draggable 的取值如下:
true,表示元素可以被拖动
false,表示元素不可以被拖动
如果该属性没有设值,则默认值 为 auto ,表示使用浏览器定义的默认行为。
这个属性是枚举类型,而不是 布尔类型 。这意味着必须显式指定值为 true 或者 false ,像 <label draggable>Example Label</label> 这样的简写是不允许的。正确的用法是 <label draggable="true">Example Label</label>。
默认情况下,只有已选中的文本、图片、链接可以拖动。对其它的元素来说,必须按拖动机制的顺序设置 ondragstart 事件才能正常工作
示例演示一个可拖动的段落:
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <title>菜鸟教程(cainiaojc.com)</title> <style type="text/css"> #div1 {width:400px;height:80px;padding:10px;border:1px solid red;} </style> <script type="text/javascript"> function allowDrop(ev) { ev.preventDefault(); } function drag(ev) { ev.dataTransfer.setData("Text",ev.target.id); } function drop(ev) { var data=ev.dataTransfer.getData("Text"); ev.target.appendChild(document.getElementById(data)); ev.preventDefault(); } </script> </head> <body> <div id="div1" ondrop="drop(event)" ondragover="allowDrop(event)"></div> <br /> <p id="drag1" draggable="true" ondragstart="drag(event)">这是一段可移动的段落。请把该段落拖入上面的红色矩形框中。</p> </body> </html>测试看看 ‹/›
IEFirefoxOperaChromeSafari
Internet Explorer 9+, Firefox, Opera, Chrome, 和 Safari 浏览器支持 draggable 属性。
注意: Internet Explorer 8 及更早 IE 版本不支持 draggable 属性。
draggable属性指定元素是否可拖动。
提示:链接和图像默认是可拖动的。
提示: draggable属性通常在拖放操作中使用。
draggable 属性是 HTML5 新增的。
<element draggable="true|false|auto">
值 | 描述 |
---|---|
true | 规定元素是可拖动的。 |
false | 规定元素是不可拖动的。 |
auto | 使用浏览器的默认特性。 |