我在从舞台上删除DOMElement时遇到问题。 这就是我用createjs Framework创建domElement的方法。
this.domElement = new createjs.DOMElement(document.getElementById('nickname'));
this.domElement.x = 580;
this.domElement.y = 200;
this.stage.addChild(this.domElement);
我的HTMl代码如下所示:
<form id="myForm" style="visibility: hidden">
<input id="nickname" value="" size="10">
一切正常,直到我想删除&#34; domElement&#34;从舞台上。 这是我尝试的方式:
this.stage.removeChild(this.domElement);
我也尝试过其他解决方案:
this.stage.parentNode.removeChild(this.domElement);
你有一个想法,为什么我无法删除这个DOM元素?
提前感谢您的帮助
答案 0 :(得分:2)
从舞台中删除DOMElement不会影响它包装的相关html元素。 DOMElement对于控制HTML元素的位置,转换和可见性非常有用,但如果从舞台中删除它,则html元素不会受到影响,因为该元素从未真正位于舞台上。
您必须从浏览器DOM手动删除html元素。请注意,该阶段不是HTML元素,因此它没有“parentNode”。相反,这样的事情可能有用:
domElement.htmlElement.parentNode.removeChild(domElement.htmlElement);
干杯。
答案 1 :(得分:1)
@ Lanny从DOM中删除元素的解决方案确实有效。但是,如果您希望再次使用此DOM元素,那么它将会消失。因此,无论如何,我发现隐藏元素是一个更好的解决方案。
domElement.htmlElement.style.visibility = "hidden";
如果您不再引用createjs DOMElement,则可以通过以下方式访问它:
document.getElementById("_id_").style.visibility = "hidden";