求教 如何捕获显示/隐藏出发的事件

CastleKtt 2007-04-07 11:11:19
我有一个table是从属于某个div(中间可能有多层嵌套,所以不能得到这个div)的,我想在table上捕获由于div隐藏/显示触发的事件,请问如何捕获?

我已经尝试过onpropertychange事件,onreadystatechange事件,onactivate事件,ondeactivate事件,请问还有其他办法捕获这种变化吗?

...全文
224 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
he_8134 2007-04-07
  • 打赏
  • 举报
回复
js是脚本语言,是可以无限扩展的,这个事件自己写就能实现了~~

手写一个

<html>
<script>
function DecoratorDiv(div){//装饰模式
div.observers=new Array();//观察者模式
div.show=function(){
this.style.display="block";
for(var i=0;i<this.observers.length;i++){
var o=this.observers[i];
if(o.actionShow)o.actionShow();
}
}
div.hide=function(){
this.style.display="none";
for(var i=0;i<this.observers.length;i++){
var o=this.observers[i];
if(o.actionHide)o.actionHide();
}
}
div.addObserver=function (obj){
this.observers.push(obj);
obj.Div=this;
}
}

window.onload=function(){
var div=document.getElementById("thediv");
DecoratorDiv(div);
var table=document.getElementById("thetable");
div.addObserver(table);
table.actionShow=function(){
var str="我根据Div的show事件作出反应,我的ID是"+this.id+",Div的ID是"+this.Div.id;
alert(str);
}
table.actionHide=function(){
alert("我的Div隐藏起来了!!!");
}
}
</script>
<body>

<div id="thediv">
<table id="thetable">
<tr>
<td>123123</td>
</tr>
</table>
</div>
<input type="button" onclick="document.getElementById('thediv').show()" value="Show the Div" />
<input type="button" onclick="document.getElementById('thediv').hide()" value="Hide the Div" />
</body>
</html>
CastleKtt 2007-04-07
  • 打赏
  • 举报
回复
事实上我感觉由于父结点状态变化导致子节点表现变化,似乎是不能通过捕获的,因为子节点的状态是没有变化的,有变化的是offsetWidth之类的属性,但是这些属性又不能出发propertychange事件。
左大神在这 2007-04-07
  • 打赏
  • 举报
回复
应该有,up
CastleKtt 2007-04-07
  • 打赏
  • 举报
回复
我放弃了,这个问题似乎无解,我现在的做法是在xforms:switch触发tab切换时,再调用一边初始化方法。sigh,主要是offsetWidth的原因,不显示的时候这个值总是0。
谢谢大家帮忙 ;)
CastleKtt 2007-04-07
  • 打赏
  • 举报
回复
我现在正在用OPS作xforms的组件扩展,在xforms:switch/xform:case中,OPS会将他变为div,但是我现在不可能控制OPS产生的div(例如给他增加方法属性等),所以没有办法从外部来控制。
CastleKtt 2007-04-07
  • 打赏
  • 举报
回复
有一个大问题是那个div也不是我能控制的,我没有办法给他增加事件。而且上面的div仅仅是个例子,容器可能是div也可能是其他的标签,我觉得给每个标签增加这样的控制是不适合的。

87,992

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧