我有一个简单的 Rails ujs 应用程序,页面上有一些远程链接。
<%= link_to 'Test', posts_path, remote: true, id: 'test' %>
在我的 js 模板中,我将此链接替换为新链接。
$('#test').html('<%= j link_to "Test", posts_path, remote: true, id: "test" %>')
同时我需要监听 ajax:success 事件:
window.addEventListener("load", () => {
document.body.addEventListener("ajax:success", (event) => {
# => Expected to be fired on all success ajax calls, no matter partial dom manipulations
});
});
但问题是这个事件永远不会触发。因为它的目标元素被替换了。
即使从 dom 中删除了目标元素,我如何才能收听 ajax:success?
我的代码没有实际意义,但它的目的是以简单的方式演示现实世界的问题。