Turbolinks 干扰 javascript

Turbolinks interfering with javascript

我知道这是一个被打败的话题,但我尝试关注文档和其他类似的 SO 帖子。

我的问题是除非重新加载页面,否则 JS 将无法工作。

我有以下JS:

$(function() {
  $('a.form-show').click(function(event){
    event.preventDefault();
    $(this).parent().next('div.form-hide').toggle();
  });
});

这会切换 link 以显示和隐藏表单中的元素。

这只适用于页面重新加载,甚至不是每次...

我尝试将其更新为(根据 SO 帖子和 turbolinks 文档):

$(document).on('turbolinks:load', function()){
  $('a.form-show').click(function(event){
    event.preventDefault();
    $(this).parent().next('div.form-hide').toggle();
  });
});

当我使用此代码并单击按钮进行切换时,它只会重新加载页面。 (至少它作为重新加载在 CMD 中运行,但在前端没有真正发生。

我得到这个错误:

SyntaxError: 函数体前缺少 {

我不擅长 JS,所以这个尝试可能是完全错误的,我相信它可能是。

关于如何使这项工作有任何想法吗?

function()){ - 更改为 function(){ 和错误

SyntaxError: missing { before function body

消失