高分求教关于用javascript取得选中文字区域坐标的问题。 问题的主要原因是跨多个td选取的时候 boundingWidth 变为0了。这样的话,选择区域的矩形外框的计算结果就不正确的。可以通过遍历所有选择的对象区域获得外框的矩形。不过楼主为什么要计算外框的区域来判断呢?这个区域和选取对象的区域显然不是一样的 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 一个 beta 版本,因为这个版本解决的是 selection.createRange() 对象的 offsetLeft 不能够正确定位的问题,所能做到的是,在有表格的行,选中单个字符的时候,是能够得到理想的效果的(“鼠标在选中区域”);未解决的是 selection.createRange() 对象的 boundingWidth 在跨多个 td 的时候,只能够得到 0 的问题,所带来的问题是,在有表格的行,选中多个字符的时候,是不能够得到理想的效果的;beta 版本的代码如下:<html><head><meta content="text/html; charset=gbk" http-equiv="Content-Type" /><title>无标题 1</title></head><body><div id="div1" style="width:0px; height:0px;"></div><table><tr><td class="fontChineseSub"> </td><td class="fontChineseSub"> </td><td class="fontChineseSub">曹</td><td class="fontChineseSub">操</td><td class="fontChineseSub">是</td><td class="fontChineseSub">三</td><td class="fontChineseSub">国</td><td class="fontChineseSub">时</td><td class="fontChineseSub">代</td><td class="fontChineseSub">著</td><td class="fontChineseSub">名</td><td class="fontChineseSub">的</td><td class="fontChineseSub">政</td><td class="fontChineseSub">治</td><td class="fontChineseSub">家</td><td class="fontChineseSub">和</td><td class="fontChineseSub">军</td><td class="fontChineseSub">事</td><td class="fontChineseSub">家</td><td class="fontChineseSub">。</td></tr></table><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p> <p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><script type="text/javascript"> // alert("查看鼠标在不在选区中的提示,请注意看IE的标题啊……没办法,不知道在哪提示好了,老是弹出对话框也烦,就直接改标题吧。"); //记录选区大小,位置 var rect = { left:-1, top:-1, width:-1, height:-1, start_left:-1 }; //这个我就不说了…… function $(id) { return document.getElementById(id); } document.onmouseup = function(){ var sel = document.selection.createRange(); var obj = document.getElementById('div1'); // 动态创建节点来解决: var objdiv = document.createElement('DIV'); objdiv.style.width = 0; objdiv.style.height = 0; objdiv.style.display = 'none'; // 目的: 通过obj.offsetparent 来获取真正的定位! // 将层移到指定的位置 !! event.srcElement.insertBefore(objdiv, event.srcElement.childNodes[0]); for (o=objdiv,sum_left = 0,sum_top=0; o; o=o.offsetParent) { sum_left = sum_left + o.offsetLeft ; sum_top = sum_top + o.offsetTop; } rect.real_left = sum_left; rect.real_top = sum_top; // 这里并没有很强的逻辑!!但是是最实用的!! if (rect.real_left == 0) { rect.real_left = sel.offsetLeft; } if (rect.real_top == 0) { rect.real_top = sel.offsetTop ; } // 计算 scroll 的影响: rect.real_left = rect.real_left + document.body.scrollLeft - document.body.clientLeft ; rect.real_top = rect.real_top + document.body.scrollTop - document.body.clientTop ; rect.left = sel.boundingLeft; rect.top = sel.boundingTop; rect.width = sel.boundingWidth; rect.height = sel.boundingHeight; rect.start_left = sel.offsetLeft; rect.end_left = sel.offsetTop; } //当鼠标移动时,得到鼠标的绝对位置 document.onmousemove = function(){ var position = getMouse(window.event); if(ptInRect(rect,position)) document.title = "鼠标在选区中!!!!!!!!!!!"; else document.title = "鼠标不在选区中"; } //判断鼠标是否在矩形(也就是选区,选区是一个矩形)内 function ptInRect(rect,pt) { if(pt.x>rect.real_left&&pt.x<rect.real_left+rect.width) if(pt.y>rect.real_top&&pt.y<rect.real_top+rect.height) return true; return false; } //得到鼠标的位置 function getMouse(ev) { if(ev.pageX || ev.pageY) { return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } </script></body> </html> 谢谢楼上的,可是我试试了,好像不行啊选中“曹操是三国时代著名的政治家和军事家。”时,mouse在这个区域时貌似没有把title变成”鼠标在选区中!!!!!!!!!!!"; 发现了,楼上楼上的代码只是调对了left值,对吗? 第二个版本,此版本解决了 offsetLeft 以及 boundingWidth 的问题。遗留问题,就是如果框选住多行,那么左边的有一部分是不能够显示 "鼠标在选中区中" 的。<html><head><meta content="text/html; charset=gbk" http-equiv="Content-Type" /><title>无标题 1</title></head><body><div id="div1" style="width:0px; height:0px;"></div><table><tr><td class="fontChineseSub"> </td><td class="fontChineseSub"> </td><td class="fontChineseSub">曹</td><td class="fontChineseSub">操</td><td class="fontChineseSub">是</td><td class="fontChineseSub">三</td><td class="fontChineseSub">国</td><td class="fontChineseSub">时</td><td class="fontChineseSub">代</td><td class="fontChineseSub">著</td><td class="fontChineseSub">名</td><td class="fontChineseSub">的</td><td class="fontChineseSub">政</td><td class="fontChineseSub">治</td><td class="fontChineseSub">家</td><td class="fontChineseSub">和</td><td class="fontChineseSub">军</td><td class="fontChineseSub">事</td><td class="fontChineseSub">家</td><td class="fontChineseSub">。</td></tr></table><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p> <p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><script type="text/javascript"> // alert("查看鼠标在不在选区中的提示,请注意看IE的标题啊……没办法,不知道在哪提示好了,老是弹出对话框也烦,就直接改标题吧。"); //记录选区大小,位置 var rect = { left:-1, top:-1, width:-1, height:-1, start_left:-1 }; //这个我就不说了…… function $(id) { return document.getElementById(id); } document.onmouseup = function(){ var sel = document.selection.createRange(); var obj = document.getElementById('div1'); // 计算正确的 width 值 var rng = sel.duplicate(); // 用来定位开始位置 var rng2 = sel.duplicate(); // 用来定位结束位置 var rng3 = sel.duplicate(); // 用来定位多行时的第一行的结束位置 var real_width = 0; // 用来计算宽度 rng.collapse(true); rng2.collapse(false); rng.execCommand('AbsolutePosition'); rng2.execCommand('AbsolutePosition'); // 只能出现在 execCommand 的下方 ! rect.real_left = rng.offsetLeft; rect.real_top = rng.offsetTop; var left = rng.offsetLeft; var right = rng2.offsetLeft; //这里的 height 指的是选中的文本的末尾!这就不适合 "多行的情况" var str= ">>"; // 原本拟定用 \r\n 但是 findText() 死活不肯认 \r\n 所以用">>"来标示换行.. var full_right ; if (rng3.findText(str, 0, 0)) { rng3.collapse(false); rng3.execCommand('AbsolutePosition'); full_right =rng3.offsetLeft ; } if (full_right && full_right > right) { right = full_right ; } var width = right - left; rect.real_width = width; rect.left = sel.boundingLeft; rect.top = sel.boundingTop; rect.width = sel.boundingWidth; rect.height = sel.boundingHeight; rect.start_left = sel.offsetLeft; rect.end_left = sel.offsetTop; } //当鼠标移动时,得到鼠标的绝对位置 document.onmousemove = function(){ var position = getMouse(window.event); if(ptInRect(rect,position)) document.title = "鼠标在选区中!!!!!!!!!!!"; else document.title = "鼠标不在选区中"; } //判断鼠标是否在矩形(也就是选区,选区是一个矩形)内 function ptInRect(rect,pt) { if(pt.x>rect.real_left&&pt.x<rect.real_left+rect.real_width) if(pt.y>rect.real_top&&pt.y<rect.real_top+rect.height) return true; return false; } //得到鼠标的位置 function getMouse(ev) { if(ev.pageX || ev.pageY) { return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } </script></body> </html>按照此思路来解决剩下的遗留的问题,是时间的问题,我已经没有时间了。所以请楼主自行修改。 自己换了种方法(TextRange.inRange)搞定了 <head><meta content="text/html; charset=utf-8" http-equiv="Content-Type" /><title>无标题 1</title></head><body><table ><tr><td class="fontChineseSub"> </td><td class="fontChineseSub"> </td><td class="fontChineseSub">曹</td><td class="fontChineseSub">操</td><td class="fontChineseSub">是</td><td class="fontChineseSub">三</td><td class="fontChineseSub">国</td><td class="fontChineseSub">时</td><td class="fontChineseSub">代</td><td class="fontChineseSub">著</td><td class="fontChineseSub">名</td><td class="fontChineseSub">的</td><td class="fontChineseSub">政</td><td class="fontChineseSub">治</td><td class="fontChineseSub">家</td><td class="fontChineseSub">和</td><td class="fontChineseSub">军</td><td class="fontChineseSub">事</td><td class="fontChineseSub">家</td><td class="fontChineseSub">。</td></tr><tr><td class="fontChineseSub"> </td><td class="fontChineseSub"> </td><td class="fontChineseSub">曹</td><td class="fontChineseSub">操</td><td class="fontChineseSub">是</td><td class="fontChineseSub">三</td><td class="fontChineseSub">国</td><td class="fontChineseSub">时</td><td class="fontChineseSub">代</td><td class="fontChineseSub">著</td><td class="fontChineseSub">名</td><td class="fontChineseSub">的</td><td class="fontChineseSub">政</td><td class="fontChineseSub">治</td><td class="fontChineseSub">家</td><td class="fontChineseSub">和</td><td class="fontChineseSub">军</td><td class="fontChineseSub">事</td><td class="fontChineseSub">家</td><td class="fontChineseSub">。</td></tr></table><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p> <p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><p>[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/> [科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/></p><script type="text/javascript"> alert("查看鼠标在不在选区中的提示,请注意看IE的标题啊……没办法,不知道在哪提示好了,老是弹出对话框也烦,就直接改标题吧。"); //记录选区大小,位置 var rect = { left:-1, top:-1, width:-1, height:-1, start_left:-1 }; //这个我就不说了…… function $(id) { return document.getElementById(id); } //当选区改变时,改变选区的属性 document.onselectionchange=function(){ var sel = document.selection.createRange(); rect.left = sel.boundingLeft; rect.top = sel.boundingTop; rect.width = sel.boundingWidth; rect.height = sel.boundingHeight; rect.start_left = sel.offsetLeft; rect.end_left = sel.offsetTop; }; //当鼠标移动时,得到鼠标的绝对位置 document.onmousemove = function(){ var position = getMouse(window.event); if(ptInRect(rect,position)) document.title = "鼠标在选区中!!!!!!!!!!!"; else document.title = "鼠标不在选区中"; } //判断鼠标是否在矩形(也就是选区,选区是一个矩形)内 function ptInRect(rect,pt) { /*if(pt.x>rect.left&&pt.x<rect.left+rect.width&&pt.x>rect.start_left) if(pt.y>rect.top&&pt.y<rect.top+rect.height) return true; return false;*/ try { var mousePnt = document.body.createTextRange(); var x = pt.x - document.body.scrollLeft + document.body.clientLeft; var y = pt.y - document.body.scrollTop + document.body.clientTop; mousePnt.moveToPoint(x, y); return document.selection.createRange().inRange(mousePnt); } catch (e) { return false; } } //得到鼠标的位置 function getMouse(ev) { if(ev.pageX || ev.pageY) { return {x:ev.pageX, y:ev.pageY}; } return { x:ev.clientX + document.body.scrollLeft - document.body.clientLeft, y:ev.clientY + document.body.scrollTop - document.body.clientTop }; } </script></body> </html> 大家写JS的更倾向于创建Object还是Function对象? range对象的surroundContents方法怎么用? 网站中登录账号绑定到第三方账号 jsp+jquery动态生成的表格怎么操作 关于Firefox下的冒泡和事件捕捉 关于select下拉框传值的问题~100分求助哈~~ 请问这个表单该如何提取?... 简单问题 dtree、ajax和jquery、contextmenu结合使用出现的问题!求助2 求助啊,急急急,大佬来救我 关于论坛回复 主题修改的问题 求助js高手 Firefox 中用javascript 动态修改下拉框的selected值
未解决的是 selection.createRange() 对象的 boundingWidth 在跨多个 td 的时候,只能够得到 0 的问题,所带来的问题是,在有表格的行,选中多个字符的时候,是不能够得到理想的效果的;beta 版本的代码如下:<html>
<head>
<meta content="text/html; charset=gbk" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<div id="div1" style="width:0px; height:0px;"></div>
<table>
<tr>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub">曹</td>
<td class="fontChineseSub">操</td>
<td class="fontChineseSub">是</td>
<td class="fontChineseSub">三</td>
<td class="fontChineseSub">国</td>
<td class="fontChineseSub">时</td>
<td class="fontChineseSub">代</td>
<td class="fontChineseSub">著</td>
<td class="fontChineseSub">名</td>
<td class="fontChineseSub">的</td>
<td class="fontChineseSub">政</td>
<td class="fontChineseSub">治</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">和</td>
<td class="fontChineseSub">军</td>
<td class="fontChineseSub">事</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">。</td>
</tr>
</table>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<script type="text/javascript">
// alert("查看鼠标在不在选区中的提示,请注意看IE的标题啊……没办法,不知道在哪提示好了,老是弹出对话框也烦,就直接改标题吧。");
//记录选区大小,位置
var rect = {
left:-1,
top:-1,
width:-1,
height:-1,
start_left:-1
};
//这个我就不说了……
function $(id)
{
return document.getElementById(id);
}
document.onmouseup = function(){ var sel = document.selection.createRange();
var obj = document.getElementById('div1');
// 动态创建节点来解决:
var objdiv = document.createElement('DIV');
objdiv.style.width = 0;
objdiv.style.height = 0;
objdiv.style.display = 'none';
// 目的: 通过obj.offsetparent 来获取真正的定位! // 将层移到指定的位置 !!
event.srcElement.insertBefore(objdiv, event.srcElement.childNodes[0]);
for (o=objdiv,sum_left = 0,sum_top=0; o; o=o.offsetParent)
{
sum_left = sum_left + o.offsetLeft ;
sum_top = sum_top + o.offsetTop;
}
rect.real_left = sum_left;
rect.real_top = sum_top; // 这里并没有很强的逻辑!!但是是最实用的!!
if (rect.real_left == 0)
{
rect.real_left = sel.offsetLeft;
}
if (rect.real_top == 0)
{
rect.real_top = sel.offsetTop ;
} // 计算 scroll 的影响:
rect.real_left = rect.real_left + document.body.scrollLeft - document.body.clientLeft ;
rect.real_top = rect.real_top + document.body.scrollTop - document.body.clientTop ; rect.left = sel.boundingLeft;
rect.top = sel.boundingTop;
rect.width = sel.boundingWidth;
rect.height = sel.boundingHeight;
rect.start_left = sel.offsetLeft;
rect.end_left = sel.offsetTop;
}
//当鼠标移动时,得到鼠标的绝对位置
document.onmousemove = function(){
var position = getMouse(window.event);
if(ptInRect(rect,position))
document.title = "鼠标在选区中!!!!!!!!!!!";
else
document.title = "鼠标不在选区中";
}
//判断鼠标是否在矩形(也就是选区,选区是一个矩形)内
function ptInRect(rect,pt)
{
if(pt.x>rect.real_left&&pt.x<rect.real_left+rect.width)
if(pt.y>rect.real_top&&pt.y<rect.real_top+rect.height)
return true;
return false;
}
//得到鼠标的位置
function getMouse(ev)
{
if(ev.pageX || ev.pageY)
{
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
</script>
</body>
</html>
选中“曹操是三国时代著名的政治家和军事家。”时,mouse在这个区域时貌似没有把title变成”鼠标在选区中!!!!!!!!!!!";
此版本解决了 offsetLeft 以及 boundingWidth 的问题。
遗留问题,就是如果框选住多行,那么左边的有一部分是不能够显示 "鼠标在选中区中" 的。
<html>
<head>
<meta content="text/html; charset=gbk" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<div id="div1" style="width:0px; height:0px;"></div>
<table>
<tr>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub">曹</td>
<td class="fontChineseSub">操</td>
<td class="fontChineseSub">是</td>
<td class="fontChineseSub">三</td>
<td class="fontChineseSub">国</td>
<td class="fontChineseSub">时</td>
<td class="fontChineseSub">代</td>
<td class="fontChineseSub">著</td>
<td class="fontChineseSub">名</td>
<td class="fontChineseSub">的</td>
<td class="fontChineseSub">政</td>
<td class="fontChineseSub">治</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">和</td>
<td class="fontChineseSub">军</td>
<td class="fontChineseSub">事</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">。</td>
</tr>
</table>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<script type="text/javascript">
// alert("查看鼠标在不在选区中的提示,请注意看IE的标题啊……没办法,不知道在哪提示好了,老是弹出对话框也烦,就直接改标题吧。");
//记录选区大小,位置
var rect = {
left:-1,
top:-1,
width:-1,
height:-1,
start_left:-1
};
//这个我就不说了……
function $(id)
{
return document.getElementById(id);
}
document.onmouseup = function(){ var sel = document.selection.createRange();
var obj = document.getElementById('div1');
// 计算正确的 width 值
var rng = sel.duplicate(); // 用来定位开始位置
var rng2 = sel.duplicate(); // 用来定位结束位置
var rng3 = sel.duplicate(); // 用来定位多行时的第一行的结束位置
var real_width = 0; // 用来计算宽度 rng.collapse(true);
rng2.collapse(false); rng.execCommand('AbsolutePosition');
rng2.execCommand('AbsolutePosition');
// 只能出现在 execCommand 的下方 !
rect.real_left = rng.offsetLeft;
rect.real_top = rng.offsetTop; var left = rng.offsetLeft;
var right = rng2.offsetLeft; //这里的 height 指的是选中的文本的末尾!这就不适合 "多行的情况" var str= ">>"; // 原本拟定用 \r\n 但是 findText() 死活不肯认 \r\n 所以用">>"来标示换行..
var full_right ;
if (rng3.findText(str, 0, 0))
{
rng3.collapse(false);
rng3.execCommand('AbsolutePosition'); full_right =rng3.offsetLeft ;
}
if (full_right && full_right > right)
{
right = full_right ;
}
var width = right - left;
rect.real_width = width; rect.left = sel.boundingLeft;
rect.top = sel.boundingTop;
rect.width = sel.boundingWidth;
rect.height = sel.boundingHeight;
rect.start_left = sel.offsetLeft;
rect.end_left = sel.offsetTop;
}
//当鼠标移动时,得到鼠标的绝对位置
document.onmousemove = function(){
var position = getMouse(window.event);
if(ptInRect(rect,position))
document.title = "鼠标在选区中!!!!!!!!!!!";
else
document.title = "鼠标不在选区中";
}
//判断鼠标是否在矩形(也就是选区,选区是一个矩形)内
function ptInRect(rect,pt)
{
if(pt.x>rect.real_left&&pt.x<rect.real_left+rect.real_width)
if(pt.y>rect.real_top&&pt.y<rect.real_top+rect.height)
return true;
return false;
}
//得到鼠标的位置
function getMouse(ev)
{
if(ev.pageX || ev.pageY)
{
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
</script>
</body>
</html>按照此思路来解决剩下的遗留的问题,是时间的问题,我已经没有时间了。所以请楼主自行修改。
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>无标题 1</title>
</head>
<body>
<table >
<tr>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub">曹</td>
<td class="fontChineseSub">操</td>
<td class="fontChineseSub">是</td>
<td class="fontChineseSub">三</td>
<td class="fontChineseSub">国</td>
<td class="fontChineseSub">时</td>
<td class="fontChineseSub">代</td>
<td class="fontChineseSub">著</td>
<td class="fontChineseSub">名</td>
<td class="fontChineseSub">的</td>
<td class="fontChineseSub">政</td>
<td class="fontChineseSub">治</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">和</td>
<td class="fontChineseSub">军</td>
<td class="fontChineseSub">事</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">。</td>
</tr>
<tr>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub"> </td>
<td class="fontChineseSub">曹</td>
<td class="fontChineseSub">操</td>
<td class="fontChineseSub">是</td>
<td class="fontChineseSub">三</td>
<td class="fontChineseSub">国</td>
<td class="fontChineseSub">时</td>
<td class="fontChineseSub">代</td>
<td class="fontChineseSub">著</td>
<td class="fontChineseSub">名</td>
<td class="fontChineseSub">的</td>
<td class="fontChineseSub">政</td>
<td class="fontChineseSub">治</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">和</td>
<td class="fontChineseSub">军</td>
<td class="fontChineseSub">事</td>
<td class="fontChineseSub">家</td>
<td class="fontChineseSub">。</td>
</tr>
</table>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<p>
[玄幻奇幻] 卡徒 暴力王座 谜龙 狗头 盗皇 战天变 白垩纪 修真传人在异界 风水大师闯异界 更多>> <br/>
[武侠仙侠] 剑意 诳言 盗墓修神 逆天武仙 妖风纵横 缺月梧桐 凡人修仙传 重生真仙界 更多>> <br/>
[都市言情] 极限入侵 拳帝 睡龙 重活 黑金大亨 风流英雄 极乐梦境 大魔法师都市游 千变 更多>> <br/>
[历史军事] 小商河 枪刺 强汉 争楚 立唐 混王 单兵作战 南亚征服史 贼途 郭嘉新传 更多>> <br/>
[游戏竞技] 网游之星际执政官 从零开始 网游之混沌初开 貌似善良的卓尔 大射雕 更多>><br/>
[科幻灵异] 河图 无限魔化 末日逃亡 星舰迷航 荒岛漂流记 我的星际战队 更多>> <br/>
[女性时空] 小楼传说 千古一后 降头师 千年祝祭 神仙也有江湖 夜合花 小狐狸的异界之旅 更多>> <br/>
</p>
<script type="text/javascript">
alert("查看鼠标在不在选区中的提示,请注意看IE的标题啊……没办法,不知道在哪提示好了,老是弹出对话框也烦,就直接改标题吧。");
//记录选区大小,位置
var rect = {
left:-1,
top:-1,
width:-1,
height:-1,
start_left:-1
};
//这个我就不说了……
function $(id)
{
return document.getElementById(id);
}
//当选区改变时,改变选区的属性
document.onselectionchange=function(){
var sel = document.selection.createRange();
rect.left = sel.boundingLeft;
rect.top = sel.boundingTop;
rect.width = sel.boundingWidth;
rect.height = sel.boundingHeight;
rect.start_left = sel.offsetLeft;
rect.end_left = sel.offsetTop;
};
//当鼠标移动时,得到鼠标的绝对位置
document.onmousemove = function(){
var position = getMouse(window.event);
if(ptInRect(rect,position))
document.title = "鼠标在选区中!!!!!!!!!!!";
else
document.title = "鼠标不在选区中";
}
//判断鼠标是否在矩形(也就是选区,选区是一个矩形)内
function ptInRect(rect,pt)
{
/*if(pt.x>rect.left&&pt.x<rect.left+rect.width&&pt.x>rect.start_left)
if(pt.y>rect.top&&pt.y<rect.top+rect.height)
return true;
return false;*/
try {
var mousePnt = document.body.createTextRange();
var x = pt.x - document.body.scrollLeft + document.body.clientLeft;
var y = pt.y - document.body.scrollTop + document.body.clientTop;
mousePnt.moveToPoint(x, y);
return document.selection.createRange().inRange(mousePnt);
} catch (e) {
return false;
}
}
//得到鼠标的位置
function getMouse(ev)
{
if(ev.pageX || ev.pageY)
{
return {x:ev.pageX, y:ev.pageY};
}
return {
x:ev.clientX + document.body.scrollLeft - document.body.clientLeft,
y:ev.clientY + document.body.scrollTop - document.body.clientTop
};
}
</script>
</body>
</html>