首页 > 解决方案 > 如何在 eruby 代码中实现 JS 标记以在点击时触发?

问题描述

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

"_LT._trackEvent(_eventType.clickThrough)"

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

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

我该怎么做呢?

标签: javascriptruby-on-railsrubyeruby

解决方案


属性(及其值)将onclick直接转换为 HTML 属性,因此如果您想让它同时运行回调list_event和其他回调,您需要以 JS 运行的方式将它们连接在一起两个都。

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

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

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


推荐阅读