【问题标题】:Javascript: Can't get an on-click event to search through an arrayJavascript:无法获得点击事件来搜索数组
【发布时间】:2014-07-15 16:26:30
【问题描述】:

如果用户点击:

<a href="hello.php" id="hello_homepage">hello</a>

页面上的 jQuery 应该在点击事件时获取这个:

$('hello_homepage').on('click', function()
    { ga('send', 'event', 'home page', 'Click', 'some dude clicked on the hello link');     }
);

这很容易。

但是我有大约 200 个不同的链接 ID,所以想把它们放在一个 JS/jQuery 数组中来优化它。如何执行以下操作:

$('Analytic_Event.id').on('click', function()
    { ga('send', 'event', 'Analytic_Event.cat', 'Click', 'Analytic_Event.label'); }
);

var Analytic_Event = [
        // Home Page
        {id : "hello_homepage", cat: "Home Page", label: "some dude clicked on the hello link"},
        {id : "goodbye_homepage", cat: "Home Page", label: "some dude clicked on the goodbye link"},
        {id : "ciao_homepage", cat: "Home Page", label: "some dude clicked on the ciao link"},

        ]

非常感谢任何帮助,因为我有点不知道这是如何工作的。

干杯

【问题讨论】:

  • 你的意思是写$('#hello_homepage'),对吧?
  • 实际上,您的代码充满了错误、错误的选择器等......
  • 这就是我学习多种语言的一半所提供的,所以我为此道歉。

标签: javascript jquery arrays variables


【解决方案1】:

Jim 的回答将是正确的方法,除非出于任何原因您无法修改该代码,否则:

$.each(Analytic_Event, function(key, item) {
   // do whatever with item 
});

如果你真的必须这样做

【讨论】:

  • 感谢吉姆的回答和大卫的帮助,这个想法非常适合我!
【解决方案2】:

为您的链接添加一个类并将 onclick 连接到该类。

<a href="hello.php" class="ga" id="hello_homepage">hello</a>
<a href="page1.php" class="ga" id="page1">page1</a>
<a href="goodbye.php" class="ga" id="goodbye_homepage">good bye</a>

在将事件发送到 ga 时使用一些链接属性。

$('.ga').on('click', function() {
    var linkID = $(this).attr("id");

    ga('send', 'event', linkID , 'Click', 'some dude clicked on the ' + linkID + ' link');     }
);

【讨论】:

  • 感谢您澄清这一点,吉姆。所以为了清楚起见,我在每个数组中有多个项目需要放入: ga('send', 'event', linkID , 'Click', 'some dude clicked on the ' + linkID + 'link' );那么数组语法应该如何让我将这些项目拉入到上面的点击事件函数中,因为每个唯一数组可能会添加越来越多的数组项目。干杯
  • @Ryan:我的解决方案没有使用“数组”方法,而是简单地使用链接的属性来使用 ga 记录事件(这就是我在网站上的做法)。有关使用数组的解决方案,请参阅 David Carpenter 的回答。
  • @Ryan:我基本上有一个通用函数(比如我的答案中的 $('.ga').on('click'... ),然后将它连接到任何事件链接我希望 Google Analytics 进行跟踪。
猜你喜欢
  • 2021-11-08
  • 2013-12-28
  • 2017-02-03
  • 1970-01-01
  • 2012-01-04
  • 2011-05-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多