我在页面之中使用addEventListener和attachEvent为
一个按钮注册了单击事件,然后我又修改文档,
把按钮的注册事件处理语句改为给body注册同一个
事件处理函数,结果就出现了怪异现象:
IE下面:
成功为body添加单击事件,但是按钮的单击事件仍然存在,
就是单击按钮仍然执行函数。
火狐下面:
为body添加单击事件失败,但是按钮的单击事件仍然存在,
就是单击按钮仍然执行函数。我禁用了火狐 的缓存之后,按钮的单击事件仍然存在。
更怪异的是关闭页面之后,重新使用浏览器打开,
在IE和火狐下面按钮的单击事件仍然存在。真不知道该怎么办了。
大家有没有遇到过此类问题呢?
一个按钮注册了单击事件,然后我又修改文档,
把按钮的注册事件处理语句改为给body注册同一个
事件处理函数,结果就出现了怪异现象:
IE下面:
成功为body添加单击事件,但是按钮的单击事件仍然存在,
就是单击按钮仍然执行函数。
火狐下面:
为body添加单击事件失败,但是按钮的单击事件仍然存在,
就是单击按钮仍然执行函数。我禁用了火狐 的缓存之后,按钮的单击事件仍然存在。
更怪异的是关闭页面之后,重新使用浏览器打开,
在IE和火狐下面按钮的单击事件仍然存在。真不知道该怎么办了。
大家有没有遇到过此类问题呢?
解决方案 »
- 关于用javascript脚本打开远程服务器上的excel模板的问题
- 各位朋友们,我对javascript不熟悉,请大家指点下,怎么才创建一个表格?
- flash播放器的样式
- 怎样用JS获得<label>标签中的值?
- fso本地可用,发布到wwwroot中用ip访问就产生了Error:Automation server can't create object
- 一个判断有点困惑.请教.
- 正则表达式能不能判断一个表达式是否为布尔表达式,怎么写,请赐教!!
- 有关表单的清空按钮
- 高手:如何屏蔽关闭ie的叉?如何在关闭ie前弹出对话框,又不让在网页上做的刷新按钮刷新时候不要弹出来!
- 谁能将此颜色代码再加个灰色?
- 正则获取Html标记中的内容
- 关于DOM事件流和事件注册的问题
var handler = function(){ alert("click"); };document.getElementById("button").addEventListener("click", handler, false);
document.body.addEventListener("click", handler, false);
没明白楼主讲的,并且这些问题和缓存没有关系。
attachEvent//好象只IE支持对应detachEvent
执行优先级也不同,addEventListener顺序执行,attachEvent倒序执行.
如果真的弹出了两次,那正好说明了你的脚本工作正常。
你点击按钮,触发了按钮的click事件,弹出一次,
然后click事件,冒泡到body元素,body元素的click事件处理函数也会执行,又弹出一次,
一共两次。工作正常。