技术解析
现有一个网页(非我控制的),点击某个按钮之后会生成一个 form,我现在想通过 greasemonkey 脚本去给这个 form 里的 我的想法是在这个按钮的 click 事件回调函数里,用 我的问题是除了这个用 setTimeout 暴力轮询的放法以外,还有别的方法吗?我理想中的状态是,在 existingForm 在网页上出现之后,立即执行某段代码。 先感谢愿意帮忙的朋友了$("#existingForm")
找到这个元素,然后添加。但是我发现找不到这个元素,我猜测原因是点击按钮之后这个 existingForm 需要一小段时间才能生成,而我检测是否有这个元素的代码先于添加这个元素的代码执行了。于是我加上了 setTimeout,就能顺利找到元素了。
监听父节点的子节点变动事件?
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/
一个可用的模板
事件代理?
Mutation Observer
https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver