我正在寻找一种方法来触发动态插入页面.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()
?
相关阅读:
- 使 jQuery 插件在动态添加的元素上工作=> 似乎 jQuery timeago 可以在替换 html 之前运行,也许是为了避免某种闪存。
- https://stackoverflow.com/a/2924202/1606888 => 建议绑定到.on,但是绑定到什么事件?
- http://www.quirksmode.org/dom/events/ => 找不到要绑定的明显事件。有什么选择吗?