我有一个使用Turboshow
的标准内联编辑,它将视图的涡轮框架替换为_form
. 但$(document).on "turbo:load", ->
在这种情况下,事件不会触发。
我没有看到另一个应该使用的事件。任何想法如何在替换涡轮框架的响应上运行 js?(例如在表单中初始化日期选择器)
框架加载时触发的事件仍在构建中:https ://github.com/hotwired/turbo/pull/59
我们目前拥有的唯一事件是turbo:before-fetch-request
and ,每次 Turbo 更改框架或导航页面时都会turbo:before-fetch-response
在关卡中触发。document
框架的内容在事件触发时不会被加载,但它允许您潜在地使用框架的loaded
属性来连接在框架加载时运行的承诺。
$(document).on("turbo:before-fetch-response", (e) ->
frame = document.getElementById("myFrame")
# Frame has finished loading
if frame.complete
#run my code
else
# Frame is still loading, run this code when it finishes
frame.loaded.then () ->
# run my code
否则,您可以编写一个 Stimulus 控制器来包装您的 datepicker 初始化,这样您就不必注意它进出 DOM。