繁体   English   中英

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

[英]What's the proper way to declare an attribute to be false?

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

默认情况下, <img>元素似乎是“可拖动的”(即使您不包含draggable属性)——这就是为什么当您在 web 页面中拖动常规图像时会获得“幽灵”图像效果的原因。 如果将非img元素标记为draggable ,您将获得同样的效果。

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

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

好吧, W3C 说你是对的; “true”、“false”和“auto”应该可以工作(并不是说它无处不在)。

编辑: http://jsfiddle.net/nwellcome/DRSbc/用于在不同的浏览器中进行试验。

看看这里(滚动到“全局属性”并单击draggable )。

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

真正的 state 意味着元素是可拖动的; 错误的 state 意味着它不是。 自动 state 使用用户代理的默认行为。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM