Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在IE8中使用prototype添加contentEditabled div_Javascript_Html_Internet Explorer 8_Prototypejs - Fatal编程技术网

Javascript 如何在IE8中使用prototype添加contentEditabled div

Javascript 如何在IE8中使用prototype添加contentEditabled div,javascript,html,internet-explorer-8,prototypejs,Javascript,Html,Internet Explorer 8,Prototypejs,我有以下代码: <form action="/fake" > <div id="root"> </div> </form> <script type="text/javascript"> var root = Element.extend($("root")); function addTextControl() { var textCtl = new Element('div',

我有以下代码:

<form action="/fake" >
    <div id="root">
    </div>
</form>

<script type="text/javascript">
    var root = Element.extend($("root"));

    function addTextControl()
    {
      var textCtl = new Element('div', { 'contenteditable': 'true'}).update("Next page");
      root.appendChild(textCtl);
    };

    addTextControl();
</script>

var root=Element.extend($(“根”);
函数addTextControl()
{
var textCtl=新元素('div',{'contenteditable':'true'})。更新(“下一页”);
root.appendChild(textCtl);
};
addTextControl();
它可以在FF和Chrome中完美工作,但在IE8中却不行:-(。它有什么问题


提前谢谢你

你认为这是一个外壳问题吗

请尝试以下方法:

new Element('div', { 'contentEditable': 'true'})...

注意contentEditable中的大写字母E。

jquery选择器错误。选择器应为$(“#root”),但ff/crome在这方面也应该有问题。他使用的是prototype而不是jquery。+1。这是因为IE不理解属性和属性之间的区别。通常,您应该避免使用
setAttribute
,而使用属性(明确要求大写字母
E
)由于这类IE缺陷。不幸的是,Prototype(如jQuery)试图模糊区别,试图允许您通过
新元素
界面设置属性和属性。在我看来,最好避免使用此功能,因为它只会使缺陷更加微妙和难以理解。