javascript - 如何使用类之类的东西将 onclick 代码移动到一个地方。在各种 html 标签处重复代码

标签 javascript jquery html css

onclick="triggersTracking($(this).attr('a'),$(this).attr('b'),$(this).attr('c'),Enum.BtnSellerView)"

我在各种 HTML 标签/按钮上都有这一行。我想将这段代码移到一个地方以提高可维护性。问题是自枚举以来我传递的第三个/最后一个属性,它具有从不同标记元素传递的不同值。

我怎样才能将它移动到一个可以调用它的公共(public)位置。例如,如果我只有这些 (this).attr,我就可以创建一个类,因为它对每个标签都是通用的。

最佳答案

你可以这样做

  1. 给所有元素一个通用的类名
  2. 然后为每个具有相应值的标签添加数据属性“data-enum”。

那么你可以这样写代码,

$(".className").click(function () {
    var a = $(this).attr('a');
    var b = $(this).attr('b');
    var c = $(this).attr('c');
    var enum = $(this).data('enum');
});

关于javascript - 如何使用类之类的东西将 onclick 代码移动到一个地方。在各种 html 标签处重复代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33429564/

相关文章:

javascript - Babel [karma-babel-preprocessor] 不为 Karma 测试转换 ES6->ES5

jQuery - 侧滑菜单

javascript - Jquery 解除 <a> 标签的 click() 绑定(bind)

html - 当浏览器的宽度 >= 768px 时,折叠的输入栏更窄

javascript - 保持有序窗口列表的最佳方法(从最近创建到最旧)?

javascript - 不使用构造函数调用模式时 .prototype 对象的用途是什么?

javascript - 汉堡包图标无响应

javascript - 如何选择父列表项中的第一个链接

javascript - 如何使用 jquery 在 Internet Explorer 10 中运行单击事件处理程序?

javascript - 从 env 变量读取跟踪 ID 并在 HTML 文件 head 部分的 GA 脚本标记中使用它