如何实现 JS 标签在 eruby 代码中点击时触发?

How to implement JS tag to fire on click in eruby code?

我需要让这段 js 在点击事件时触发:

"_LT._trackEvent(_eventType.clickThrough)"

需要将它添加到这个已经有 onclick 事件的 eruby 标签中:

<%= submit_tag 'Send enquiry', :class => "BtnSubmit", :onclick => list_event(params[:item_key])%>

我该怎么做?

onclick 属性(及其值)将直接变成 HTML 属性,所以如果你想拥有它 运行 [=11= 中的回调] 和其他回调,您需要以 JS 运行 两者的方式将它们连接在一起。

我可以看到一些不错的选择:

  1. list_event 助手修改为也 运行 _LT._trackEvent(_eventType.clickThrough)
  2. 调用您现有的助手并将原始字符串添加到末尾,如 "#{list_event(params[:item_key])}; _LT._trackEvent(_eventType.clickThrough)"
  3. 创建另一个名为 track_event 的助手并将它们命名为 "#{list_event(params[:item_key])}; #{track_event}"
  4. 创建 track_event 助手,然后创建第三个助手来包装它们,类似于 list_and_track_event,然后调用它

我个人会根据两个回调的语义选择选项 1 或 4。