技术解析

能否监听类似于“某个 selector 指向的元素已生成”的事件?
0
2021-08-26 07:09:55
idczone

现有一个网页(非我控制的),点击某个按钮之后会生成一个 form,我现在想通过 greasemonkey 脚本去给这个 form 里的

后面加一个

我的想法是在这个按钮的 click 事件回调函数里,用$("#existingForm")找到这个元素,然后添加。但是我发现找不到这个元素,我猜测原因是点击按钮之后这个 existingForm 需要一小段时间才能生成,而我检测是否有这个元素的代码先于添加这个元素的代码执行了。于是我加上了 setTimeout,就能顺利找到元素了。

我的问题是除了这个用 setTimeout 暴力轮询的放法以外,还有别的方法吗?我理想中的状态是,在 existingForm 在网页上出现之后,立即执行某段代码。

先感谢愿意帮忙的朋友了


监听父节点的子节点变动事件?

https://stackoverflow.com/questions/15268661/jquery-on-create-event-for-dynamically-created-elements 了解一下

https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

聊聊 JS DOM 变化的监听检测与应用 ——张鑫旭
https://www.zhangxinxu.com/wordpress/2019/08/js-dom-mutation-observer/

一个可用的模板
https://gist.github.com/autoxbc/d42f6f034eb4051b6dc02d6193fedde5

事件代理?

Mutation Observer
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver

数据地带为您的网站提供全球顶级IDC资源