CodeMirror2 IE7/IE8 下面未知运行时错误的解决方法

时间:2012-03-29    点击:103   
原来出错的代码如下:
复制代码 代码如下:

<p style="margin-top:0;">
<asp:TextBox ID="txtContent" runat="server" TextMode="MultiLine" Height="450" Width="98%"></asp:TextBox>
</p>

出错的原因应该是IE7、IE8中的P不支持innerHTML。CodeMirror的作者也发现了这个问题,相关链接:
  https://github.com/marijnh/CodeMirror2/issues/215
  https://github.com/marijnh/CodeMirror2/commit/4886415d6054571f92fa4d5601ebe7d601e952ab
复制代码 代码如下:

try { stringWidth("x"); }
catch (e) {
if (e.message.match(/runtime/i) || e.message.match(/运行时/i) )
e = new Error("A CodeMirror inside a P-style element does not work in Internet Explorer. (innerHTML bug)");
throw e;
}

把textarea外层的p改成div,即可正常:
复制代码 代码如下:

<div style="margin-top:0;">
<asp:TextBox ID="txtContent" runat="server" TextMode="MultiLine" Height="450" Width="98%"></asp:TextBox>
</div>
从面试题学习Javascript 面向对象(创建对象)
jQuery 自定义函数写法分享
一个JQuery操作Table的代码分享
javascript工具库代码
Web开发之JavaScript
> 返回     
地址:上海市普陀区胶州路941号长久商务中心 电话: QQ:
© Copyright 2012 上海网络 Product All Rights Reserved