firfox中,如何使rangecount大于一,获取选中单元格问题 在firefox中,使用window.getSelection()对象取得选中的table中的多个单元格 发现rangecount值总为1 ,如何使得rangecount的值为选中的单元格数量呢? 有什么方法没,请指教,多谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var rng = window.getSelection();var count = 0;for(var i=0;i<rng.length;i++){var a=rng.item(i);if(a.tagName=="td")count++;}alert(count); 楼上的同学 我在firefox下试过了 根本就不行啊 额 要补充点是 我是在iframe里面操作表格 恩 清楚地描叙下我的情况(环境:firefox3)1.我在iframe里面生成了table2.我在iframe里面选择了table中的多个cell,(这几个cell边框区域变黑显示被选中)3.myframewindow.getSelection().toString(),结果只显示选中的第一个cell文本内容,其他cell的内容不显示4.what happen? <script>function abc(){var rng = window.getSelection().getRangeAt(0);if(!rng.commonAncestorContainer.getElementsByTagName){if(rng.commonAncestorContainer.parentNode.nodeName=="TD"){alert(1);}return;}var children = rng.commonAncestorContainer.getElementsByTagName("td");var count = 1;for(var i=0; i<children.length;i++){var temp = children[i];if(temp.nodeName=="TD"){if(rng.isPointInRange(temp,1)){count++;}}}alert(count);}</script><body onmouseup="abc()"><table id="mytable" width="800" border="1"> <tr> <th colspan="7"> <span class="title">工号管理 </span> <div style="float:right"> <input type="button" value="添加工号" onclick="location.href='../adminFunction/addNumber.html'"/> </div> </th> </tr> <tr> <td colspan="7" class="select"> 选择客服: <select name="server"> <option value="" selected="selected">全部客服 </option> <option value="" onclick="display1()">未分组 </option> <option value="" onclick="display2()">技术部 </option> <option value="" onclick="display3()">商业部 </option> </select> </td> </tr> <tr class="row1"> <td width="70">工号 </td> <td width="70">姓名 </td> <td width="70">部门 </td> <td width="70">身份 </td> <td>权限 </td> <td width="50">操作 </td> </tr> <tr class="row2"> <td>vicente </td> <td>arashi </td> <td>未分组 </td> <td>管理员 </td> <td>客服管理 | 聊天记录管理 | 删除记录 | 基本设置 | 数据分析 | 风格设置 </td> <td>- </td> </tr> <tr class="row2"> <td>mischiru </td> <td>AAA </td> <td>技术部 </td> <td>管理员 </td> <td>客服管理 | 聊天记录管理 | 删除记录 | 基本设置 | 数据分析 | 风格设置 </td> <td>- </td> </tr> <tr class="row2"> <td>GReeeeN </td> <td>ayumi </td> <td>商业部 </td> <td>客服 </td> <td>聊天记录管理 | 删除记录 | 基本设置 | 风格设置 </td> <td>- </td> </tr> </table> </body> 非常多谢楼上同志的代码,但是我的问题是:在一个iframe中,有一个table,我通过鼠标选取了table中的多个单元格:代码如下:<script> var wid = document.getElementById("iframe_id").contentWindow; var sel = wid.getSelection(); alert(sel.toString());</script>结果总是选取的第一个单元格内容,其他单元格内容取不到这个问题让我抓狂了ps:在非iframe页面中是正常地 不会啊.选多少就显示多少啊.<iframe id="iframe_id" src="test.html"></iframe><button onclick="abc()">a</button><script>function abc(){ var wid = document.getElementById("iframe_id").contentWindow; var sel = wid.getSelection(); alert(sel.toString());}</script>我这里test.html是我前面贴的页面. iframe里面有对range对操作事件的话.可能会这样 额 我想我找到原因了我选中cell后 然后点击了右键 在弹出的自定义右键菜单中选择一条命令 然后我再这条命令中执行了 这段javascript代码这个时候range区域已经发生了改变额 多谢楼上同志是个好同志 额 似乎问题又来了如何在鼠标事件点击发生后 取得点击事件前获取的对象呢?因为鼠标事件发生后,前面的selection对象似乎已经发生了改变呵呵 是在不好意思啊 easyui的tab标签update之后无法关闭 在IE6中是不是不能禁止JavaScript呀? 还有2个属性是什么 帮我理解下这段小白 为何我的对联广告点击关闭后页面中其他的GIF动画都不播放了? 关于百度地图 的问题 请xml高手帮我看看,如何写这个递归....?? [100分]在网页上点击一个aa.rm,如何设置跳出realplay来播放它,急等! 在java中碰到的一个莫名其妙的问题。 请教关于影像扫描的清晰度以及IE装载图象的一个问题 Flash的超链接 怎么读css里面的样式呀
var count = 0;
for(var i=0;i<rng.length;i++)
{
var a=rng.item(i);
if(a.tagName=="td")count++;
}
alert(count);
1.我在iframe里面生成了table
2.我在iframe里面选择了table中的多个cell,(这几个cell边框区域变黑显示被选中)
3.myframewindow.getSelection().toString(),结果只显示选中的第一个cell文本内容,其他cell的内容不显示
4.what happen?
function abc(){
var rng = window.getSelection().getRangeAt(0);
if(!rng.commonAncestorContainer.getElementsByTagName){
if(rng.commonAncestorContainer.parentNode.nodeName=="TD"){
alert(1);
}
return;
}
var children = rng.commonAncestorContainer.getElementsByTagName("td");
var count = 1;
for(var i=0; i<children.length;i++){
var temp = children[i];
if(temp.nodeName=="TD"){
if(rng.isPointInRange(temp,1)){
count++;
}
}
}
alert(count);
}
</script>
<body onmouseup="abc()">
<table id="mytable" width="800" border="1">
<tr>
<th colspan="7">
<span class="title">工号管理 </span>
<div style="float:right"> <input type="button" value="添加工号" onclick="location.href='../adminFunction/addNumber.html'"/> </div>
</th>
</tr>
<tr>
<td colspan="7" class="select">
选择客服:
<select name="server">
<option value="" selected="selected">全部客服 </option>
<option value="" onclick="display1()">未分组 </option>
<option value="" onclick="display2()">技术部 </option>
<option value="" onclick="display3()">商业部 </option>
</select>
</td>
</tr>
<tr class="row1">
<td width="70">工号 </td>
<td width="70">姓名 </td>
<td width="70">部门 </td>
<td width="70">身份 </td>
<td>权限 </td>
<td width="50">操作 </td>
</tr>
<tr class="row2">
<td>vicente </td>
<td>arashi </td>
<td>未分组 </td>
<td>管理员 </td>
<td>客服管理 | 聊天记录管理 | 删除记录 | 基本设置 | 数据分析 | 风格设置 </td>
<td>- </td>
</tr>
<tr class="row2">
<td>mischiru </td>
<td>AAA </td>
<td>技术部 </td>
<td>管理员 </td>
<td>客服管理 | 聊天记录管理 | 删除记录 | 基本设置 | 数据分析 | 风格设置 </td>
<td>- </td>
</tr>
<tr class="row2">
<td>GReeeeN </td>
<td>ayumi </td>
<td>商业部 </td>
<td>客服 </td>
<td>聊天记录管理 | 删除记录 | 基本设置 | 风格设置 </td>
<td>- </td>
</tr>
</table>
</body>
在一个iframe中,有一个table,我通过鼠标选取了table中的多个单元格:
代码如下:<script>
var wid = document.getElementById("iframe_id").contentWindow;
var sel = wid.getSelection();
alert(sel.toString());
</script>
结果总是选取的第一个单元格内容,其他单元格内容取不到
这个问题让我抓狂了
ps:在非iframe页面中是正常地
<iframe id="iframe_id" src="test.html"></iframe>
<button onclick="abc()">a</button>
<script>
function abc(){
var wid = document.getElementById("iframe_id").contentWindow;
var sel = wid.getSelection();
alert(sel.toString());
}
</script>
我这里test.html是我前面贴的页面.
我选中cell后
然后点击了右键 在弹出的自定义右键菜单中选择一条命令
然后我再这条命令中执行了 这段javascript代码
这个时候range区域已经发生了改变额 多谢楼上同志
是个好同志
如何在鼠标事件点击发生后 取得点击事件前获取的对象呢?
因为鼠标事件发生后,前面的selection对象似乎已经发生了改变
呵呵 是在不好意思啊