如何禁用DIV元素和里面的一切

我需要禁用一个DIV和它的所有内容使用Javascript。 我可以发誓,做一个简单的

<div disabled="true"> 

之前为我工作,但由于某种原因,它不再有效。 我不明白为什么。

在IE10中:文本“Click Me”不会变灰,点击处理程序仍然有效。

我其实需要这个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> 

尝试这个!

 $("#test *").attr("disabled", "disabled").off('click'); 

我没有看到你使用上面的jquery,但是你把它列为标签。

以下css语句禁用点击事件

 pointer-events:none; 

我认为内联脚本很难停下来,你可以试试这个:

 <div id="test"> <div>Click Me</div> </div> 

和脚本:

 $(function () { $('#test').children().click(function(){ alert('hello'); }); $('#test').children().off('click'); }); 

CHEKOUT FIDDLE,看到它帮助

阅读更多关于.off()

我没有经验,但似乎BlockUI是你在找什么。 试试看。

纯JavaScript没有jQuery

 <script type="text/javascript"> function sah() { sah1(document.getElementById("div1")); } function sah1(el) { try { el.disabled = el.disabled ? false : true; } catch (E) {} if (el.childNodes && el.childNodes.length > 0) { for (var x = 0; x < el.childNodes.length; x++) { sah1(el.childNodes[x]); } } } </script> <body> <div id="div1"> <input type="text" value="SAH Computer" /> <br /> <input type="button" value="SAH Computer" /> <br /> <input type="radio" name="sex" value="Male" />Male <Br /> <input type="radio" name="sex" value="Female" />Female <Br /> </div> <Br /> <Br /> <input type="button" value="Click" onclick="sah()" /> </body> 

您不能使用“禁用”来禁用点击事件。 我不知道如何或如果它在IE6-9工作,但它不适用于Chrome,它不应该在IE10上工作。

您也可以禁用onclick事件,方法是附加一个取消以下内容的事件:

 ;(function () { function cancel () { return false; }; document.getElementById("test").disabled = true; var nodes = document.getElementById("test").getElementsByTagName('*'); console.log(nodes); for (var i = 0; i < nodes.length; i++) { nodes[i].setAttribute('disabled', true); nodes[i].onclick = cancel; } }()); 

此外,直接在节点上设置“禁用”不一定会添加属性 – 使用setAttribute。

http://jsfiddle.net/2fPZu/