<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<textarea rows="7" cols="49" id="box" onclick="tellPoint()"></textarea>
<script language="javascript">
function tellPoint()
{
var rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
rng.moveStart("character",-event.srcElement.value.length);
pnum.value = rng.text.length;
}
</script> <p></p>
光标位置:<input type="text" value="0" id="pnum" size="8"/>
</body>
</html>
解决的方法是不要w3c声明,直接写<html>,但是实际开发中肯定用w3c头部声明的,所以还是要寻求解决方法,或者说此题根本无解?
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<textarea rows="7" cols="49" id="box" onclick="tellPoint()"></textarea>
<script language="javascript">
function tellPoint()
{
var rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
rng.moveStart("character",-event.srcElement.value.length);
pnum.value = rng.text.length;
}
</script> <p></p>
光标位置:<input type="text" value="0" id="pnum" size="8"/>
</body>
</html>
解决的方法是不要w3c声明,直接写<html>,但是实际开发中肯定用w3c头部声明的,所以还是要寻求解决方法,或者说此题根本无解?
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<textarea rows="7" cols="49" id="box" onclick="tellPoint()"></textarea>
<script>
function tellPoint()
{
if(document.getElementById("box").value.length==0)
{
pnum.value = 0;
return ;
}
var rng = event.srcElement.createTextRange();
rng.moveToPoint(event.x,event.y);
rng.moveStart("character",-event.srcElement.value.length);
pnum.value = rng.text.length;
}
</script> <p></p>
光标位置:<input type="text" value="0" id="pnum" size="8"/>
</body>
</html>
<!DOCTYPE html >也一样错
试了下加个兼容成IE7就行了
加个
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
试试