询问关于javascript事件监听失效的问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了询问关于javascript事件监听失效的问题相关的知识,希望对你有一定的参考价值。
最近在学javascript,被他的事件迷惑了,事情是这样的:
当我监听一个元素的事件(使用addEventListener),之后如果我修改文档的内容(使用innerhtml,或者removeChild修改),就会出现事件监听无效的情况,即该事件不再有反应。
经过我自己的试验,也发现修改文档内容会导致元素事件失效的情况。但是今天在修改代码的时候,发现使用innerHTML修改后事件不会失效了。这可奇怪死我了。google之,无果,于是想跟各位请教一下:
js的事件是否会像我上面描述的那样运作?即文档改变后,之前的事件就会无效。如果是,是一定这样呢?还是特定的某种情况会?
另外,如果你说的addEventListener 如果是JavaScript内置函数的话ie不支持需要使用attachevent,而使用匿名函数则可以解决一切兼容问题:
$(id).onclick=function();....虽然这个方法古老但是兼容性非常好 参考技术A 如果你的监听对象在innerHTML中自然会失效,在它之外则不可能被影响本回答被提问者采纳 参考技术B 还是具体一点吧..给点代码...
关于vue中滚动监听失效问题
在vue项目中,
监听window滚动失效;并且document.body.scrollTop一直是0的情况!
查找了许多资料;并没有找到合理的解决方案;
最中发现,在index.html设置了html,body的宽高设置成了100%;
这样会造成window.onscroll监听不到正确的滚出高度(恒为0);
不和你们多bb:解决方案:
将html,body的height设置为auto;即可解决!!
以上是关于询问关于javascript事件监听失效的问题的主要内容,如果未能解决你的问题,请参考以下文章
记录:uni-app 监听浏览器返回事件,onBackPress生命周期失效问题