0

我正在寻找一种方法来触发动态插入页面.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()

相关阅读:

4

1 回答 1

3

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

$("abbr.timeago").timeago()当我知道事情发生变化时,我通过简单地再次运行来解决这个问题。

于 2013-08-14T19:48:50.603 回答