CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Web 开发 >  JavaScript

一种关于popup窗体事件的接收解决办法,欢迎大家讨论~

楼主ssm1226(雨中人(虚心学习))2005-07-19 11:18:09 在 Web 开发 / JavaScript 提问

最近写一个模拟下拉控件,用到了popup窗体,在接收popup窗体事件时,头痛了好大一阵,贴出我的实现方法,欢迎大家讨论;  
   
  <body   onload=_buildPopup()>  
  <script   language=javascript>  
  var   popup=window.createPopup();  
  var   popupBody=popup.document.body;  
  function   _buildPopup(){  
  popup.document.f   =   function(e){_saveEventObject(e)};   //定义方法,用以传递popup窗体事件  
  popupBody.innerHTML="<div   id=oDiv   onclick='f(event)'><div>ssm1226</div><div>雨中人</div></div>";   //popup窗体中需要事件处理的地方,使用已定义的f方法  
   
  with(popupBody.style){  
  overflowY   =   "auto";  
  overflowX="auto";  
  border="1px   solid   buttonshadow";  
  }  
  }  
  //popup窗体事件接口  
  function   _saveEventObject(oEvent){  
  document.all("oTxt").value=oEvent.srcElement.outerHTML;  
  }  
  function   test(){  
  var   o=event.srcElement;  
  popup.show(0,o.offsetHeight   +   1,200,300,o);  
  }  
  </script>  
  <textarea   id=oTxt   cols=30   rows=10></textarea><br>  
  <input   type=button   value=测试   onclick="test()">  
   
  </body>  
   
   
  ==================================================================  
  另外一种实现方式,其它都一样  
   
  <body   onload=_buildPopup()>  
  <script   language=javascript>  
  var   popup=window.createPopup();  
  var   popupBody=popup.document.body;  
   
  function   _buildPopup(){  
  popupBody.innerHTML="<div   id='oDiv'><div>ssm1226</div><div>雨中人</div></div>";    
  popup.document.f   =   function(e){_saveEventObject(e)};   //定义方法,用以传递popup窗体事件  
   
  with(popup.document.all.oDiv){  
  attachEvent("onclick",function(event){document.f(event);});  
  }  
  with(popupBody.style){  
  overflowY   =   "auto";  
  overflowX="auto";  
  border="1px   solid   buttonshadow";  
  }  
  }  
  //popup窗体事件接口  
  function   _saveEventObject(oEvent){  
  document.all("oTxt").value=oEvent.srcElement.outerHTML;  
  }  
  function   test(){  
  var   o=event.srcElement;  
  popup.show(0,o.offsetHeight   +   1,200,300,o);  
  }  
  </script>  
  <textarea   id=oTxt   cols=30   rows=10   NAME="oTxt"></textarea><br>  
  <input   type=button   value=测试   onclick="test()"   ID="Button1"   NAME="Button1">  
   
  </body> 问题点数:100、回复次数:4Top

1 楼fantiny(卖身不卖艺的菜鸟)回复于 2005-07-19 12:01:24 得分 10

友情顶下。Top

2 楼JK_10000(JK)回复于 2005-07-19 12:04:07 得分 80

这样可能就好理会点:  
  <body   onload=_buildPopup()>  
  <script   language=javascript>  
  //popup窗体事件接口  
   
  function   test(){  
  var   o=event.srcElement;  
  popup.show(0,o.offsetHeight   +   1,200,300,o);  
  }  
   
  var   popup=window.createPopup();  
  var   popupBody=popup.document.body;  
  popup.document.saveEventObject=function   (oEvent){  
  document.all("oTxt").value=oEvent.srcElement.outerHTML;  
  }  
   
  function   _buildPopup(){  
   
  popupBody.innerHTML="<div   id=oDiv   onclick='document.saveEventObject(event)'><div>ssm1226</div><div>雨中人</div></div>";   //popup窗体中需要事件处理的地方,使用已定义的f方法  
   
  with(popupBody.style){  
  overflowY   =   "auto";  
  overflowX="auto";  
  border="1px   solid   buttonshadow";  
  }  
  }  
  </script>  
  <textarea   id=oTxt   cols=30   rows=10></textarea><br>  
  <input   type=button   value=测试   onclick="test()">  
   
  </body>Top

3 楼JK_10000(JK)回复于 2005-07-19 12:05:21 得分 10

不过<div   id=oDiv   onclick='document.saveEventObject....  
  里的document可以省略,似乎就有点难以理会。Top

4 楼ssm1226(雨中人(虚心学习))回复于 2005-07-19 13:24:49 得分 0

这个就是我不理解的:(Top

相关问题

  • ******************* 如何使第二个窗体的信息被第一个窗体接收?************************
  • A窗体edit内容写入后,关闭A窗体,传到B窗体memo中的继续讨论
  • POPUP窗体会自己移动?
  • 如何接收窗体最小化的事件问题?
  • 为什么在窗体上加上Webbrowser控件,窗体接收不到键盘事件
  • 编译时还是有错!!!------如何使第二个窗体的信息被第一个窗体接收?
  • 怎么在vb.net中实现关闭窗体之后,另一个窗体可以接收到这个窗体传递的参数!!!比较棘手!!!
  • 怎么在vb.net中实现关闭窗体之后,另一个窗体可以接收到这个窗体传递的参数!!!比较棘手!!!
  • !!!讨论!!!关于透明窗体…………(不是灌水就给分……)
  • 控制台能嵌入窗体吗?大家来讨论!

关键词

  • 接收
  • popup窗体事件
  • 欢迎大家讨论

得分解答快速导航

  • 帖主:ssm1226
  • fantiny
  • JK_10000
  • JK_10000

相关链接

  • Web开发类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo