<iframe id="fzone" style="width:400px;height:250px;"></iframe>
<br />
<input type="button" unselectable="on" value="Click" id="inp" /><script type="text/javascript">
<!--
var currentPos = 0,edit;
window.onload=function(){
edit=$("fzone").contentWindow;
edit.document.designMode = "on";
edit.document.contentEditable = true;
edit.document.open();
edit.document.write("123456789");
edit.document.close();
$("inp").onclick=function(){
setCaret(this);
}
edit.document.onclick=function(){
getPos(this);
//alert("test")
}
}
function setCaret(obj){
var rng = obj.createTextRange();
rng.collapse(true);
rng.moveStart('character',currentPos);
rng.select();
}
function getPos(obj){ //用来获取光标位置
obj.focus();
var workRange=edit.document.selection.createRange();
workRange.select();
var allRange=edit.document.selection.createRange();
workRange.setEndPoint("StartToStart",allRange);
var len=workRange.text.length;
workRange.collapse(false);
workRange.select();
currentPos=len;
alert(len)//看看得到的效果
}
function $(oid){
return document.getElementById(oid);
}
//-->
</script> 是否需要这样?
<br />
<input type="button" unselectable="on" value="Click" id="inp" /><script type="text/javascript">
<!--
var currentPos = 0,edit;
window.onload=function(){
edit=$("fzone").contentWindow;
edit.document.designMode = "on";
edit.document.contentEditable = true;
edit.document.open();
edit.document.write("123456789");
edit.document.close();
$("inp").onclick=function(){
setCaret(this);
}
edit.document.onclick=function(){
getPos(this);
//alert("test")
}
}
function setCaret(obj){
var rng = obj.createTextRange();
rng.collapse(true);
rng.moveStart('character',currentPos);
rng.select();
}
function getPos(obj){ //用来获取光标位置
obj.focus();
var workRange=edit.document.selection.createRange();
workRange.select();
var allRange=edit.document.selection.createRange();
workRange.setEndPoint("StartToStart",allRange);
var len=workRange.text.length;
workRange.collapse(false);
workRange.select();
currentPos=len;
alert(len)//看看得到的效果
}
function $(oid){
return document.getElementById(oid);
}
//-->
</script> 是否需要这样?
是多余的,
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<script type="text/javascript">
<!--
var currentPos = 0,edit;
window.onload=function(){
edit=$("fzone").contentWindow;
edit.document.designMode = "on";
edit.document.contentEditable = true;
edit.document.open();
edit.document.write("123456789");
edit.document.close();
$("inp").onclick=function(){
setCaret(edit.document.body);
}
edit.document.onclick=function(){
getPos(this);
//alert("test")
}
}
function setCaret(obj){
var rng = obj.createTextRange();
rng.collapse(true);
rng.moveStart('character',currentPos);
rng.select();
}
function getPos(obj){
obj.focus();
var workRange=edit.document.selection.createRange();
var allRange=edit.document.body.createTextRange(); //edit.document.selection.createRange()改为edit.document.body.createTextRange()
workRange.setEndPoint("StartToStart",allRange);
var len=workRange.text.length;
workRange.collapse(false);
workRange.select();
currentPos=len;
//alert(len);
}
function $(oid){
return document.getElementById(oid);
}
//-->
</script>
</head>
<body>
<iframe id="fzone" style="width:400px;height:250px;"></iframe>
<br />
<input type="button" unselectable="on" value="Click" id="inp" />
</body>
</html>