如何用js实现 ;两个个表格拖拽复制的问题 就是鼠标拖住一个表格的一行到另一个表格 可以直接实现复制? 如何用js实现 ;两个个表格拖拽复制的问题 就是鼠标拖住一个表格的一行到另一个表格 可以直接实现复制? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 js写的话代码估计会很多,可以参考ext中grid到grid的拖动 我们是生成的两个普通的table所以没法用ext实现 只能使用js 那 js的代码是?您有吗?共享一下呗 呵呵 你在一个表格里按住鼠标左键,到另一个表格里就会添加,一些特效交给楼主自己做了。分大牛你懂得<!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"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script>window.onload = function(){ var c = null,curr=null; var tbs = document.getElementsByTagName('table'); function e(a,f){ for(var i=0,j=a.length;i<j;i++){ f.call(a[i],i); } } e(tbs,function(n){ this.index = n; this.onmousedown = function(e,t,arr){ e = e||event; t = e.srcElement||e.target; arr = []; if(t.tagName.toLowerCase()==='td'){ curr = n; c = document.createElement('tr'); var tds = t.parentNode.getElementsByTagName('td') for(var j=0,k=tds.length;j<k;j++){ arr.push('<td>' + tds[j].innerHTML + '</td>') } } document.onmouseup = function(e,t){ e = e||event; t = e.srcElement||e.target; if(t.tagName.toLowerCase()==='td'){ if(t.parentNode.parentNode.parentNode.index!=curr){ t.parentNode.parentNode.insertBefore(c,t.parentNode); } } c.innerHTML = arr.join(''); c = null,curr = null,document.onmouseup = null; } } })}</script></head><body><table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td>252525</td> <td> </td> <td> </td> </tr> <tr> <td>25254</td> <td> </td> <td> </td> </tr> <tr> <td>25254254</td> <td> </td> <td> </td> </tr></table><table width="100%" border="1" cellspacing="0" cellpadding="0" style="margin-top:50px;"> <tr> <td>fdsfd</td> <td> </td> <td> </td> </tr> <tr> <td>fdfds</td> <td> </td> <td> </td> </tr> <tr> <td>fdsf</td> <td> </td> <td> </td> </tr></table><p> </p></body></html> 汗,我先去测测IE用FireBug调试的,就忘记看IE了 <!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"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8" /><title>无标题文档</title><script>window.onload = function(){ var c = null,curr=null; var tbs = document.getElementsByTagName('table');//获取所有表格 function e(a,f){ for(var i=0,j=a.length;i<j;i++){ f.call(a[i],i); } } e(tbs,function(n){//开始给每个table添加onmousedown函数 this.index = n; this.onmousedown = function(e,t,arr){ //鼠标在table按下的时候存储当前点击的行,并添加document的onmouseup事件 e = e||event; t = e.srcElement||e.target; arr = []; if(t.tagName.toLowerCase()==='td'){ curr = n; var tds = t.parentNode.getElementsByTagName('td') for(var j=0,k=tds.length,td=null;j<k;j++){ td = document.createElement('td'); td.innerHTML = tds[j].innerHTML; arr.push(td); } } document.onmouseup = function(e,t){//鼠标抬起的时候判断是否是在table上抬起的,如果是,就在抬起行的前面插入复制的行 e = e||event; t = e.srcElement||e.target; c = document.createElement('tr'); for(var j=0,k=arr.length;j<k;j++){ c.appendChild(arr[j]); } if(t.tagName.toLowerCase()==='td'){ if(t.parentNode.parentNode.parentNode.index!=curr){ t.parentNode.parentNode.insertBefore(c,t.parentNode); } } c = null,curr = null,document.onmouseup = null;//清除所有临时变量,以备下次使用 } } })}</script></head><body><table width="100%" border="1" cellspacing="0" cellpadding="0"> <tr> <td>252525</td> <td> </td> <td> </td> </tr> <tr> <td>25254</td> <td> </td> <td> </td> </tr> <tr> <td>25254254</td> <td> </td> <td> </td> </tr></table><table width="100%" border="1" cellspacing="0" cellpadding="0" style="margin-top:50px;"> <tr> <td>fdsfd</td> <td> </td> <td> </td> </tr> <tr> <td>fdfds</td> <td> </td> <td> </td> </tr> <tr> <td>fdsf</td> <td> </td> <td> </td> </tr></table></body></html>之前用innerHTMl实现的,后来发现IE的table里面 innerHTMl有bug所以用appendChild实现了,效率慢了好多。。杯具了。。 IE6你试过了吗? 还是不好使呢? 有没有可能加你qq啊? 新手请教广告JQ 怎么在一个JS中引用其他JS文件 不知道是那里的问题 js新手求一正则表达式 nextSibling返回不是所需要的对象 急。jsp页面刷新清除缓存的命令是。 新手提问:简单,关于语法的基础问题.........在线等 很简单的一个问题!在线等待!! 开发好的控件ocx在WEB中调用疑问! js中如何用FileReader 读指定本地音频文件,然后用AudioConText播放 求一段判断IP的正则表达式 多行select鼠標移動怎麼做到和單行select一樣的反白效果?
分大牛你懂得
<!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">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
window.onload = function(){
var c = null,curr=null;
var tbs = document.getElementsByTagName('table');
function e(a,f){
for(var i=0,j=a.length;i<j;i++){
f.call(a[i],i);
}
}
e(tbs,function(n){
this.index = n;
this.onmousedown = function(e,t,arr){
e = e||event;
t = e.srcElement||e.target;
arr = [];
if(t.tagName.toLowerCase()==='td'){
curr = n;
c = document.createElement('tr');
var tds = t.parentNode.getElementsByTagName('td')
for(var j=0,k=tds.length;j<k;j++){
arr.push('<td>' + tds[j].innerHTML + '</td>')
}
}
document.onmouseup = function(e,t){
e = e||event;
t = e.srcElement||e.target;
if(t.tagName.toLowerCase()==='td'){
if(t.parentNode.parentNode.parentNode.index!=curr){
t.parentNode.parentNode.insertBefore(c,t.parentNode);
}
}
c.innerHTML = arr.join('');
c = null,curr = null,document.onmouseup = null;
}
}
})
}
</script>
</head><body>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>252525</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>25254</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>25254254</td>
<td> </td>
<td> </td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="0" style="margin-top:50px;">
<tr>
<td>fdsfd</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>fdfds</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>fdsf</td>
<td> </td>
<td> </td>
</tr>
</table>
<p> </p>
</body>
</html>
用FireBug调试的,就忘记看IE了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script>
window.onload = function(){
var c = null,curr=null;
var tbs = document.getElementsByTagName('table');//获取所有表格
function e(a,f){
for(var i=0,j=a.length;i<j;i++){
f.call(a[i],i);
}
}
e(tbs,function(n){//开始给每个table添加onmousedown函数
this.index = n;
this.onmousedown = function(e,t,arr){
//鼠标在table按下的时候存储当前点击的行,并添加document的onmouseup事件
e = e||event;
t = e.srcElement||e.target;
arr = [];
if(t.tagName.toLowerCase()==='td'){
curr = n;
var tds = t.parentNode.getElementsByTagName('td')
for(var j=0,k=tds.length,td=null;j<k;j++){
td = document.createElement('td');
td.innerHTML = tds[j].innerHTML;
arr.push(td);
}
}
document.onmouseup = function(e,t){//鼠标抬起的时候判断是否是在table上抬起的,如果是,就在抬起行的前面插入复制的行
e = e||event;
t = e.srcElement||e.target;
c = document.createElement('tr');
for(var j=0,k=arr.length;j<k;j++){
c.appendChild(arr[j]);
}
if(t.tagName.toLowerCase()==='td'){
if(t.parentNode.parentNode.parentNode.index!=curr){
t.parentNode.parentNode.insertBefore(c,t.parentNode);
}
}
c = null,curr = null,document.onmouseup = null;//清除所有临时变量,以备下次使用
}
}
})
}
</script>
</head><body>
<table width="100%" border="1" cellspacing="0" cellpadding="0">
<tr>
<td>252525</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>25254</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>25254254</td>
<td> </td>
<td> </td>
</tr>
</table>
<table width="100%" border="1" cellspacing="0" cellpadding="0" style="margin-top:50px;">
<tr>
<td>fdsfd</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>fdfds</td>
<td> </td>
<td> </td>
</tr>
<tr>
<td>fdsf</td>
<td> </td>
<td> </td>
</tr>
</table>
</body>
</html>
之前用innerHTMl实现的,后来发现IE的table里面 innerHTMl有bug所以用appendChild实现了,效率慢了好多。。杯具了。。