日期:2014-05-16  浏览次数:20910 次

求救多行文本框调用editor.asp文件在IE9以上版本与手机操作系统上没有光标不能输入问题?
一个页面,有一个多行文本框,IFRAME嵌套了一个 editor.asp 文件,嵌套后,在IE8以下版本上正常,在IE8以上版本上改多行文本框没有光标,不能输入(在手机ANDRIO或者MAC操作系统上也不能点击输入),调用代码如下:
<textarea name="YWB_Content" class="form" style="display:none"><%=YWB_Content%></textarea>
<iframe ID="editor" src="../../Public/editor.asp" frameborder=0 scrolling=no width="500" height="200"></iframe>


editor.asp文件代码如下:

<html>
<head>
<title>动力空间HTML在线编辑器</title>
<link rel="STYLESHEET" type="text/css" href="edit.css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>

<body bgcolor="menu" STYLE="margin:0pt;padding:0pt">
  <div class="TBSep"></div>
  <div class="TBGen" title="查看HTML源代码"> 
    <input id="EditMode" onclick="setMode(this.checked)" type="checkbox">
    查看HTML源代码</div>
</div>-->

<iframe class="HtmlEdit" ID="HtmlEdit" MARGINHEIGHT="1" MARGINWIDTH="1" width="100%" height="100%"> 
</iframe>
<script type="text/javascript">
SEP_PADDING = 5
HANDLE_PADDING = 7

var yToolbars = new Array();
var YInitialized = false;
var bLoad=false
var pureText=true
var bodyTag="<head><style type=\"text/css\">body {font-size: 9pt}</style><meta http-equiv=Content-Type content=\"text/html; charset=gb2312\"></head><BODY bgcolor=\"#FFFFFF\" MONOSPACE>"
var bTextMode=false

public_description=new Editor

function document.onreadystatechange(){
  if (YInitialized) return;
  YInitialized = true;

  var i, s, curr;

  for (i=0; i<document.body.all.length; i++)
  {
    curr=document.body.all[i];
    if (curr.className == "yToolbar")
    {
      InitTB(curr);
      yToolbars[yToolbars.length] = curr;
    }
  }

  DoLayout();
  window.onresize = DoLayout;

  HtmlEdit.document.open();
  HtmlEdit.document.write(bodyTag);
  HtmlEdit.document.close();
  HtmlEdit.document.designMode="On";
}

function InitBtn(btn)
{
  btn.onmouseover = BtnMouseOver;
  btn.onmouseout = BtnMouseOut;
  btn.onmousedown = BtnMouseDown;
  btn.onmouseup = BtnMouseUp;
  btn.ondragstart = YCancelEvent;
  btn.onselectstart = YCancelEvent;
  btn.onselect = YCancelEvent;
  btn.YUSERONCLICK = btn.onclick;
  btn.onclick = YCancelEvent;
  btn.YINITIALIZED = true;
  return true;
}

function InitTB(y)
{
  y.TBWidth = 0;

  if (! PopulateTB(y)) return false;

  y.style.posWidth = y.TBWidth;

  return true;
}


function YCancelEvent()