免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2497 | 回复: 3
打印 上一主题 下一主题

求给树动态添加节点的弹出框的实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-02-02 17:40 |只看该作者 |倒序浏览
最终的效果如附件的图

1.jpg (12.09 KB, 下载次数: 28)

1.jpg

2.jpg (20.34 KB, 下载次数: 26)

2.jpg

论坛徽章:
0
2 [报告]
发表于 2008-02-03 16:35 |只看该作者
以下代码可以在ie中实现,但是firefox中不行

  1. <script>
  2. ......
  3. function add(domainid)
  4. {
  5.     document.getElementsByName("newip_"+domainid)[0].value="";
  6.    
  7.     var objtmp=document.getElementById("div_"+domainid)

  8.         with(objtmp.style)
  9.         {
  10.             mX=event.x?event.x:event.pageX;
  11.             alert(1);
  12.                 left = (event.clientX  +10+ document.body.scrollLeft) + "px";
  13.                 top = (event.clientY +5+ document.body.scrollTop) + "px";
  14.                 display = "";
  15.         }
  16.     document.getElementsByName("newip_"+domainid)[0].focus();       
  17. }

  18. </script>
  19. ......
  20.            <td width="77"><span style="display: "><a href="#" onclick="add('685');return false;"><font color="#7899DC">添加新IP</font></a></span></td>
  21.             <td width="4%" align="right"><a href="#" onclick="edit(this,0,685,'1.1.1.1');return false;">编辑</a></td>
  22.             <td width="4%" align="right"><a href="#" onclick="del(this,0,685);return false;">删除</a></td>
  23.         </tr>
  24.         </table>


  25.         <div style="position:absolute; display:none; border: 1px solid black; background-color:#F7F7F7;" id="div_685">
  26.           <table>
  27.             <tr><td colspan="2">
  28.               <input type="text" name="newip_685" onkeydown="if (event.keyCode == 13) {addipsub(651);}">
  29.             </td></tr>
  30.             <tr><td align="center">
  31.                 <input type="button" value="确定" onclick="addipsub(685);"></td><td align="center"><input type="button" value="取消" onclick="caladd('685');">
  32.             </td></tr>
  33.          </table>
  34.        </div>
复制代码

google发现            mX=event.x?event.x:event.pageX;
这个实现不了

论坛徽章:
0
3 [报告]
发表于 2008-02-03 16:40 |只看该作者
在ie和firefox厦门可以统一这样写
function add(domainid,event)
{
    event=event || window.event;
    .......
    .......
}

忘记说了..错误不在event.x?event.x:event.pageX;上面,他它也是为了兼容ie和firefox,选择用event.x还是event.pagex;两者效果一样的.只是ie不支持event.pagex;
firefox下面不能用只是在它的环境下event对象没声明正确

[ 本帖最后由 郁闷RMB 于 2008-2-3 16:46 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-02-04 12:51 |只看该作者
谢谢楼上的提醒,之前也google过出来要先声明event,但是不知道这么调用这个函数,试过
onclick="add('685');
onclick="add('685',this);
onclick="add('685',);
都不行,今天随便试试
onclick="add('685',event);
可以了。
谢谢哈^_^
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP