我需要让这段 js 在点击事件上触发:
"_LT._trackEvent(_eventType.clickThrough)"
需要将其添加到这个已经具有 onclick 事件的 eruby 标签中:
<%= submit_tag 'Send enquiry', :class => "BtnSubmit", :onclick => list_event(params[:item_key])%>
我将如何做到这一点?
onclick
属性(及其值(将直接转换为 HTML 属性,因此,如果您想让它同时运行list_event
中的回调和另一个回调,则需要将它们连接在一起,以便 JS 将同时运行两者。
我可以看到一些不错的选择:
- 修改
list_event
帮助程序以同时运行_LT._trackEvent(_eventType.clickThrough)
- 调用您现有的助手并将原始字符串固定在末尾,如
"#{list_event(params[:item_key])}; _LT._trackEvent(_eventType.clickThrough)"
- 创建另一个名为
track_event
的帮助程序,并将其称为"#{list_event(params[:item_key])}; #{track_event}"
- 创建
track_event
帮助程序,然后创建第三个帮助程序来包装它们,类似于list_and_track_event
,然后改为调用它
就个人而言,我会根据两个回调的语义选择选项 1 或 4。