.on jquery替换文本

时间:2012-09-24 15:49:43

标签: jquery replace load

  

可能重复:
  How to detect new element creation in jQuery?

我正在尝试替换按钮的文本值,但是在页面加载时该按钮不存在,它在进行了其他几个用户选择后进入。

我试图在按钮出现在页面上时立即替换按钮文本 - 而不是基于它被点击或悬停或类似的东西。

如果该按钮存在onload,我将能够使用javascript来替换值而没有任何问题 - 但是我很难弄清楚这是否可以使用jQuery以及使用哪个函数?

1 个答案:

答案 0 :(得分:0)

我可以想到一些可以跨浏览器工作的可能解决方案:

  1. 识别导致该按钮被添加到页面的用户事件,挂钩该事件以及该事件运行后,找到该按钮并更新其文本。

  2. 使用间隔计时器轮询您的页面,以找出按钮添加到页面的时间。

  3. 如果在jQuery ajax操作之后添加按钮而你无法修改执行该ajax工作或添加按钮的实际代码,则可以全局挂钩jQuery操作并在一个简短的setTimeout中检查页面( )完成任何jQuery ajax操作后。

  4. 您不能使用jQuery .on()来查找何时将对象添加到页面中。 .on()适用于将来通过捕获父对象(未动态添加到页面)的传播事件而添加到页面的对象的事件处理程序,但实际上并不告诉您对象何时是添加到页面。

    仅供参考,在某些浏览器中有一个DOMSubtreeModifiedDOMNodeInserted事件听起来像是为这类事情做好的,但它仅在某些浏览器中可用并且已被弃用(不建议用于使用)。

    此类通知的未来发展方向是Mutation Events,但目前尚未得到广泛支持。