现有一个网页(非我控制的),点击某个按钮之后会生成一个 form,我现在想通过 greasemonkey 脚本去给这个 form 里的<div id="existingForm">
后面加一个<div id="newForm">
。
我的想法是在这个按钮的 click 事件回调函数里,用$("#existingForm")
找到这个元素,然后添加。但是我发现找不到这个元素,我猜测原因是点击按钮之后这个 existingForm 需要一小段时间才能生成,而我检测是否有这个元素的代码先于添加这个元素的代码执行了。于是我加上了 setTimeout,就能顺利找到元素了。
我的问题是除了这个用 setTimeout 暴力轮询的放法以外,还有别的方法吗?我理想中的状态是,在 existingForm 在网页上出现之后,立即执行某段代码。
先感谢愿意帮忙的朋友了
1
mskf 2019-09-15 03:01:08 +08:00
监听父节点的子节点变动事件?
|
2
sker101 2019-09-15 03:09:16 +08:00 via iPhone
|
3
azh7138m 2019-09-15 03:26:58 +08:00 via Android
|
4
zhengjian 2019-09-15 05:05:02 +08:00
聊聊 JS DOM 变化的监听检测与应用 ——张鑫旭
https://www.zhangxinxu.com/wordpress/2019/08/js-dom-mutation-observer/ |
5
autoxbc 2019-09-15 10:11:32 +08:00
|
6
belin520 2019-09-15 10:28:36 +08:00 via iPhone
事件代理?
|
7
jinliming2 2019-09-15 16:28:48 +08:00 via iPhone
Mutation Observer
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver |