javascript中如何查看对象的已经添加了的事件处理函数

zhengb302 2009-09-03 10:45:19
兄弟姐妹们,在JavaScript怎样才能知道一个对象已经添加了哪些事件处理函数,能不能列出这些事件处理函数啊?答对者20分,吾将不胜感激!
急啊!!!
...全文
488 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
最后一个菜鸟 2011-08-16
  • 打赏
  • 举报
回复
同求方法,不过比较倾向十楼的说法
koflyby 2010-02-25
  • 打赏
  • 举报
回复
<script src="ext2.0/source/data/Connection.js" type="text/javascript"></script>
<script src="ext2.0/source/data/DataProxy.js" type="text/javascript"></script>
<script src="ext2.0/source/data/HttpProxy.js" type="text/javascript"></script>
<script src="ext2.0/source/widgets/Shadow.js" type="text/javascript"></script>
<script src="ext2.0/source/widgets/Layer.js" type="text/javascript"></script>
<script src="ext2.0/source/dd/DDCore.js" type="text/javascript"></script>
<script src="ext2.0/source/widgets/tips/Tip.js" type="text/javascript"></script>
<script src="ext2.0/source/widgets/tips/ToolTip.js" type="text/javascript"></script>
koflyby 2010-02-25
  • 打赏
  • 举报
回复
ext2.0/source/util/DelayedTask.js
ext2.0/source/util/KeyMap.js
ext2.0/source/widgets/WindowManager.js
ext2.0/source/widgets/Resizable.js
ext2.0/source/widgets/Window.js
koflyby 2010-02-24
  • 打赏
  • 举报
回复
<script src="core/Ext.js" type="text/javascript"></script>
<script src="adapter/ext-base.js" type="text/javascript"></script>

<script src="util/Observable.js" type="text/javascript"></script>
<script src="core/EventManager.js" type="text/javascript"></script>
<script src="core/Element.js" type="text/javascript"></script>

<script src="core/Fx.js" type="text/javascript"></script>
<script src="core/DomHelper.js" type="text/javascript"></script>
<script src="core/DomQuery.js" type="text/javascript"></script>

<script src="util/MixedCollection.js" type="text/javascript"></script>
<script src="widgets/ComponentMgr.js" type="text/javascript"></script>
<script src="widgets/Component.js" type="text/javascript"></script>
<script src="widgets/BoxComponent.js" type="text/javascript"></script>

<script src="widgets/Container.js" type="text/javascript"></script>
<script src="widgets/Panel.js" type="text/javascript"></script>
<script src="widgets/DataView.js" type="text/javascript"></script>
<script src="widgets/layout/ContainerLayout.js" type="text/javascript"></script>

<script src="core/CompositeElement.js" type="text/javascript"></script>
<script src="core/Template.js" type="text/javascript"></script>
<script src="util/Format.js" type="text/javascript"></script>
<script src="util/XTemplate.js" type="text/javascript"></script>

<script src="data/SortTypes.js" type="text/javascript"></script>
<script src="data/DataField.js" type="text/javascript"></script>
<script src="data/Record.js" type="text/javascript"></script>
<script src="data/DataReader.js" type="text/javascript"></script>
<script src="data/JsonReader.js" type="text/javascript"></script>
<script src="data/StoreMgr.js" type="text/javascript"></script>
<script src="data/store.js" type="text/javascript"></script>
<script src="data/JsonStore.js" type="text/javascript"></script>
dh20156 2009-09-04
  • 打赏
  • 举报
回复
使用attachEvent或addEventListener方式绑定的事件处理函数是无法别枚举的,我之前写了一种事件绑定的方法,可以满足楼主的需求,可以参考一下:

给DOM节点或组绑定事件http://www.jslab.org.cn/?tag=addEventListener
zhengb302 2009-09-04
  • 打赏
  • 举报
回复
等待中……
zhengb302 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 zhengb302 的回复:]
我的意思是为某个对象的某个事件(如click事件)添加了多个事件处理函数,如何列出所有“这个对象的这个事件的这些事件处理函数”!
JScript code<html><head><script language="javascript">var ttt=document.getElementById("ttt");if(ttt.addEventListener){//Firefox ttt.addEventListener("click",a,false);
ttt.addEventListener("click",b,false);
ttt.addEventListener("click",c,false);
}else{//可恶的IE ttt.attachEvent("onclick",a);
ttt.attachEvent("onclick",b);
ttt.attachEvent("onclick",c);
}function a(){
alert("a");
}function b(){
alert("b");
}function c(){
alert("c");
}</script></head><body><div id="ttt">你好,世界!</div></body></html>
我想知道的是如何才能列出ttt的click事件的所有事件响应函数(这里是a,b,c)
[/Quote]
我发现ttt.onclick的值为null
zhengb302 2009-09-03
  • 打赏
  • 举报
回复
我的意思是为某个对象的某个事件(如click事件)添加了多个事件处理函数,如何列出所有“这个对象的这个事件的这些事件处理函数”!

<html>
<head>
<script language="javascript">
var ttt=document.getElementById("ttt");
if(ttt.addEventListener){ //Firefox
ttt.addEventListener("click",a,false);
ttt.addEventListener("click",b,false);
ttt.addEventListener("click",c,false);
}
else{ //可恶的IE
ttt.attachEvent("onclick",a);
ttt.attachEvent("onclick",b);
ttt.attachEvent("onclick",c);
}

function a(){
alert("a");
}

function b(){
alert("b");
}

function c(){
alert("c");
}
</script>
</head>
<body>
<div id="ttt">你好,世界!</div>
</body>
</html>

我想知道的是如何才能列出ttt的click事件的所有事件响应函数(这里是a,b,c)
浴火_凤凰 2009-09-03
  • 打赏
  • 举报
回复
列出对象的属性,然后判断那些是函数
BeenZ 2009-09-03
  • 打赏
  • 举报
回复

<html>
<head>
<title> </title>

<script language="javascript">
function test(){
var div=document.getElementById("aaa");
if(!div.onclick){
alert("div.onclick")
}
if(!div.onmousedown){
alert("div.onmousedown")
}
if(!div.onmouseover){
alert("div.onmouseover")
}

}
window.onload=function(){
test();
}
</script>
</head>
<body>
<div id="aaa" onclick="a()" onmousedown="b()"></div>
</body>
</html>
xiuyouxu 2009-09-03
  • 打赏
  • 举报
回复
比如一个div,有onmouseover,onmouseout,onclick等事件,遍历div的这些属性,如果为空就没有定义事件处理函数,否则就定义了
xiuyouxu 2009-09-03
  • 打赏
  • 举报
回复
列出对象的属性,然后判断那些是函数,且这些函数名与已定义的事件对应
zhengb302 2009-09-03
  • 打赏
  • 举报
回复
有什么办法删除某个对象的某个事件所有的事件响应函数不?比如ttt的onclick事件响应函数(假设有多个,但我们不清除具体有多少个、都有哪些)
koflyby 2009-09-03
  • 打赏
  • 举报
回复
应该是没有办法查看的,即使有数组存在,也属于私有属性..
通过对象你是看不到的,只能进行删除事件操作了.
zhengb302 2009-09-03
  • 打赏
  • 举报
回复
等待中……
zhengb302 2009-09-03
  • 打赏
  • 举报
回复
放到window.onload里ttt.onclick还是为null
请楼上给出关键代码
xiuyouxu 2009-09-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 zhengb302 的回复:]
引用 5 楼 zhengb302 的回复:
我的意思是为某个对象的某个事件(如click事件)添加了多个事件处理函数,如何列出所有“这个对象的这个事件的这些事件处理函数”!
JScript code <html> <head> <script language="javascript">var ttt=document.getElementById("ttt");if(ttt.addEventListener){//Firefox    ttt.addEventListener("click",a,false);
    ttt.addEventListener("click",b,false);
    ttt.addEventListener("click",c,false);
}else{//可恶的IE    ttt.attachEvent("onclick",a);
    ttt.attachEvent("onclick",b);
    ttt.attachEvent("onclick",c);
}function a(){
    alert("a");
}function b(){
    alert("b");
}function c(){
    alert("c");
} </script> </head> <body> <div id="ttt">你好,世界! </div> </body> </html>
我想知道的是如何才能列出ttt的click事件的所有事件响应函数(这里是a,b,c)

我发现ttt.onclick的值为null
[/Quote]

放到window.onload里面吧,这样肯定不行的
ttt.onclick得到的应该是一个数组吧,可以为一个事件指定多个处理函数的

87,902

社区成员

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

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