window.getSelection(),document.selection浏览器兼容问题

wuyingxin007 2011-05-11 03:00:32
<html>
<head>
<title> New Document </title>
<SCRIPT>
function getCaretForTextArea(ZysrID){
var txb = document.getElementById(ZysrID);
var pos = 0;
txb.focus();
var s = txb.scrollTop;
var r = document.selection.createRange();
var t = txb.createTextRange();
t.collapse(true);
t.select();
var j = document.selection.createRange();
r.setEndPoint("StartToStart",j);
var str = r.text;
var re = new RegExp("[\\n]","g");
str = str.replace(re,"");
pos = str.length;
alert(pos);
r.collapse(false);
r.select();
txb.scrollTop = s;
}
</SCRIPT>
<meta name="Generator" content="EditPlus">
<meta name="Author" content="">
<meta name="Keywords" content="">
<meta name="Description" content="">
</head>

<body>
<textarea id="eimarea" col="5" row="5" onkeyup="getCaretForTextArea('eimarea')"></textarea><br/>
</body>
</html>

如题,我采用了这种方法解决selection的兼容性:
if (window.getSelection) {
r=window.getSelection();
} else if (document.getSelection) {

r=document.getSelection();
} else if (document.selection) {

r=document.selection.createRange();
}
但是我遇到的情况是接下来的方法var t =txb.createTextRange();t.collapse(true);t.select();r.setEndPoint("StartToStart",j);都是依据IE写的,在Firefox和Chrome里下面的方法都有问题,求解相应浏览器这些方法的替代方法。
...全文
819 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
败家子 2011-05-12
  • 打赏
  • 举报
回复
我也遇到这么个问题帮顶~

67,515

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧