jQuery TimeAgo的jQuery的.on()

时间:2013-08-14 17:14:38

标签: javascript jquery timeago

我正在寻找一种方法来触发动态插入页面的新.timeago()元素上的$("abbr.timeago"函数。现在这就是我正在做的事情。

# Triggered on initial page load

# application.js.coffee
jQuery ->
  # Timeago
  $("abbr.timeago").timeago()

有些元素是动态替换的,我发现需要在将它们插入页面后调用timeago函数。

# Triggered after the new abbr.timeago elements have been inserted

// resolve.js.erb

$tweet = $("<%= j render 'conversation_for_tweet', tweet: @tweet %>");
$("#<%= dom_id @tweet, :conversation_for %>").replaceWith($tweet);
$tweet.find("abbr.timeago").timeago();

有没有办法绑定到jQuery的.on函数,以便动态插入$("abbr.timeago")代码自动调用.timeago()

相关阅读:

1 个答案:

答案 0 :(得分:3)

on对此无济于事。您可以使用on将事件处理程序绑定到页面上始终存在的内容,以便在绑定时可以在不在页面上的元素上触发事件。在这种情况下,它有点不同。

我之前只是在知道事情发生了变化后再次运行$("abbr.timeago").timeago()时解决了这个问题。