Javascript 如何实现JS标记在代码中单击时触发?

Javascript 如何实现JS标记在代码中单击时触发?,javascript,ruby-on-rails,ruby,eruby,Javascript,Ruby On Rails,Ruby,Eruby,我需要让这段js在点击事件中触发: "_LT._trackEvent(_eventType.clickThrough)" 需要将其添加到此已具有onclick事件的eruby标记中: <%= submit_tag 'Send enquiry', :class => "BtnSubmit", :onclick => list_event(params[:item_key])%> “BtnSubmit”,:onclick=>list\u事件(参数[:item\u key]

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

"_LT._trackEvent(_eventType.clickThrough)"
需要将其添加到此已具有onclick事件的eruby标记中:

<%= submit_tag 'Send enquiry', :class => "BtnSubmit", :onclick => list_event(params[:item_key])%>
“BtnSubmit”,:onclick=>list\u事件(参数[:item\u key])%>

我该怎么做呢?

onclick属性(及其值)将直接转换为HTML属性,因此如果您想让它同时运行
list\u事件中的回调和另一个回调,您需要将它们连接在一起,使JS同时运行这两个回调

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

  • 修改
    列表\u事件
    帮助程序以同时运行
    \LT.\u trackEvent(\u eventType.clickThrough)
  • 调用您现有的助手并将原始字符串固定在末尾,如
    “#{list_event(params[:item_key])};LT._trackEvent(_eventType.clickThrough)”
  • 创建另一个名为
    track_event
    的帮助程序,并将其称为
    “#{list_event(params[:item_key])};#{track_event}”
  • 创建
    track\u事件
    助手,然后创建第三个助手来包装它们,类似于
    list\u和\u track\u事件
    ,然后调用它

  • 就我个人而言,根据两次回调的语义,我会选择选项1或4。

    什么是列表事件(params[:item_key])返回这里?谢谢您的回答。我可能会选择方案2。我可以问一下“onclick属性(及其值)将直接转换为HTML属性”是什么意思吗?我的意思是没有特殊的过程,Rails只需调用
    来处理传入的任何内容,并将该字符串转储到HTML中,这样您就可以自己制作一些(安全的!)JS以您喜欢的方式放入字符串中,并将其传入(作为字符串上的
    传递给
    只返回字符串)。