声明属性为false的正确方法是什么?

时间:2011-07-15 20:13:06

标签: javascript html5 attributes

在HTML5中,您可以将属性draggable添加到任何元素 - 它的作用类似于checked;它不需要值。如果你确实想要指定一个值(例如,为了使其成为有效的XML),我认为官方标准语法是checked="checked",但其他的东西也有用(包括checked=""checked="false",令人困惑)。使其“假”的标准方法是根本不包括该属性。

默认情况下,

<img>元素似乎是“可拖动的”(即使您没有包含draggable属性) - 这就是为什么在拖动常规图像时获得'ghost'图像效果的原因网页。如果您标记img,则会对非draggable元素产生相同的效果。

那么如何在img元素上禁用它?您可以在JavaScript中将该属性设置为false。但是在HTML中呢?

(通过实验,我知道draggable="false"似乎可以在Chrome中运行 - 这是一种适用于所有地方的标准语法吗?如果是这样,为什么checked="false"不能以同样的方式工作?)

2 个答案:

答案 0 :(得分:3)

嗯,W3C says你是对的; “true”,“false”和“auto”应该工作(不是说它会在任何地方)。

修改:http://jsfiddle.net/nwellcome/DRSbc/以便在不同的浏览器中进行试验。

答案 1 :(得分:3)

查看here(滚动到“全局属性”,然后点击draggable)。

  

所有HTML元素都可以设置可拖动的内容属性。该   draggable属性是枚举属性。它有三个州。   第一个状态为true,它的关键字为true。第二个州   是false,它的关键字为false。第三个状态是汽车;它有   没有关键字,但它是默认的缺失值。

     

真实状态意味着元素是可拖动的;虚假的状态意味着   它不是。自动状态使用用户的默认行为   剂。

所以答案是:要禁用HTML5元素的可拖动属性,请使用draggable="false"

相关问题