我正在尝试替换按钮的文本值,但是在页面加载时该按钮不存在,它在进行了其他几个用户选择后进入。
我试图在按钮出现在页面上时立即替换按钮文本 - 而不是基于它被点击或悬停或类似的东西。
如果该按钮存在onload,我将能够使用javascript来替换值而没有任何问题 - 但是我很难弄清楚这是否可以使用jQuery以及使用哪个函数?
答案 0 :(得分:0)
我可以想到一些可以跨浏览器工作的可能解决方案:
识别导致该按钮被添加到页面的用户事件,挂钩该事件以及该事件运行后,找到该按钮并更新其文本。
使用间隔计时器轮询您的页面,以找出按钮添加到页面的时间。
如果在jQuery ajax操作之后添加按钮而你无法修改执行该ajax工作或添加按钮的实际代码,则可以全局挂钩jQuery操作并在一个简短的setTimeout中检查页面( )完成任何jQuery ajax操作后。
您不能使用jQuery .on()
来查找何时将对象添加到页面中。 .on()
适用于将来通过捕获父对象(未动态添加到页面)的传播事件而添加到页面的对象的事件处理程序,但实际上并不告诉您对象何时是添加到页面。
仅供参考,在某些浏览器中有一个DOMSubtreeModified
和DOMNodeInserted
事件听起来像是为这类事情做好的,但它仅在某些浏览器中可用并且已被弃用(不建议用于使用)。
此类通知的未来发展方向是Mutation Events,但目前尚未得到广泛支持。