javascript - 如何在 eruby 代码中实现 JS 标记以在点击时触发?
问题描述
我需要让这段 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)"
- 创建另一个名为 like 的助手
track_event
并将它们称为"#{list_event(params[:item_key])}; #{track_event}"
- 创建
track_event
助手,然后创建第三个助手来包装它们,例如list_and_track_event
,然后改为调用它
我个人会根据两个回调的语义选择选项 1 或 4。
推荐阅读
- flutter - 登录后上传 FCM Token
- javascript - 搜索完成后重置表单不起作用
- android-studio-4.1 - 在 Android Studio 中找不到“记录浓缩咖啡测试”
- java - 如果使用管理员用户安装,Install4J 将不会启动应用程序
- odoo-14 - 如何在 ODOO-14 .... 中激活开发者模式?
- ios - 在 Swift/SwiftUI 中仅显示 Date 对象的时间
- html - 无效的 CSS left 属性是否可以接受?
- angularjs-ng-repeat - NG-repeat 在 td 中只显示一次值
- javascript - 循环的斐波那契代码不返回值
- shared-libraries - mpiexec 分段错误地址未映射