【发布时间】:2013-03-21 18:26:47
【问题描述】:
我需要使用 Javascript 禁用 DIV 及其所有内容。我可以发誓,做一个简单的
<div disabled="true">
以前为我工作,但由于某种原因它不再工作。我不明白为什么。
在 IE10 中:文本“单击我”未灰显,单击处理程序仍然有效。
我实际上需要这个为 IE10 工作。下面是我的代码。
<html>
<script>
function disableTest(){
document.getElementById("test").disabled = true;
var nodes = document.getElementById("test").getElementsByTagName('*');
for(var i = 0; i < nodes.length; i++){
nodes[i].disabled = true;
}
}
</script>
<body onload="disableTest();">
<div id="test">
<div onclick="alert('hello');">
Click Me
</div>
</div>
</body>
</html>
【问题讨论】:
-
我只是想禁用 DIV 中的所有内容及其处理程序。
-
不!不能禁用 div。只有表单和表单元素。
-
"true"不是disabled属性(在标记中)的有效值 -
实际上在 Quirks 模式下 IE 可以禁用
div,但它只会使按钮文本变灰,不会阻止事件触发。 -
并建议,在非表单元素中使用
data-dissabled处理此类内容
标签: javascript jquery html css