社区
JavaScript
帖子详情
求教 如何捕获显示/隐藏出发的事件
CastleKtt
2007-04-07 11:11:19
我有一个table是从属于某个div(中间可能有多层嵌套,所以不能得到这个div)的,我想在table上捕获由于div隐藏/显示触发的事件,请问如何捕获?
我已经尝试过onpropertychange事件,onreadystatechange事件,onactivate事件,ondeactivate事件,请问还有其他办法捕获这种变化吗?
...全文
224
7
打赏
收藏
求教 如何捕获显示/隐藏出发的事件
我有一个table是从属于某个div(中间可能有多层嵌套,所以不能得到这个div)的,我想在table上捕获由于div隐藏/显示触发的事件,请问如何捕获? 我已经尝试过onpropertychange事件,onreadystatechange事件,onactivate事件,ondeactivate事件,请问还有其他办法捕获这种变化吗?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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也可能是其他的标签,我觉得给每个标签增加这样的控制是不适合的。
2021 Java面试真题集锦
目录 … 1 大厂面试的基本流程 17 字节跳动 17 阿里 17 腾讯 18 网易游戏 18 面试前需要准备: 18 面试中可以借鉴的套路 19 用简历争取到更多的面试机会 19 自我介绍时,立即全面抛出技术栈和亮点 20 ...
UML与软件建模之面向对象的软件建模概述
借助数据抽象和封装,可以抽象的定义对象的外部行为而
隐藏
其实现细节,从而达到规约和实现的分离,有利于程序的理解、修改和维护。对系统原型速成和有效实现大有帮助;支持继承则可以在原有的代码上构建新的软件模块...
精进:如何成为一个很厉害的人--作者:采铜
文章目录精进:如何成为一个很厉害的人序 用更勇敢的方式去生活01 时间之尺 我们应该怎样对待时间活在“全部的现在” 从当下
出发
,联结过去与未来那么,一个人应该怎样对待时间呢?不同场合,不同的时间视角由当下向...
GAMES 图形学系列笔记(二十五)
我们先看一下我们这个课程最后一次作业啊,作业时的一个情况啊,总体上交作业的同学还是不错的啊,同学的一些结果啊,这个同学是实现了那个就是
显示
方法啊,cross换算法,当然算法也出现一些小的问题。像比如这里一...
【信息科学与工程学】【管理科学】【市场体系】第三十四篇 企业内部私下运作模型表——监督监管和审计必学必备01
关系模型:从工具性交换(信息、资源互换)逐步向混合性关系(掺杂情感与私人交情)演进,理想状态是发展为情感性关系(真正的朋友),但这需要大量时间和
事件
积累。 精度/误差/偏差 精度:在识别关键人层面精度...
JavaScript
87,992
社区成员
224,688
社区内容
发帖
与我相关
我的任务
JavaScript
Web 开发 JavaScript
复制链接
扫一扫
分享
社区描述
Web 开发 JavaScript
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章