Javascript 如何实现JS标记在代码中单击时触发?
我需要让这段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]
"_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以您喜欢的方式放入字符串中,并将其传入(作为字符串上的传递给
只返回字符串)。