一种关于popup窗体事件的接收解决办法,欢迎大家讨论~
最近写一个模拟下拉控件,用到了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中实现关闭窗体之后,另一个窗体可以接收到这个窗体传递的参数!!!比较棘手!!!
- !!!讨论!!!关于透明窗体…………(不是灌水就给分……)
- 控制台能嵌入窗体吗?大家来讨论!




