我正在尝试在我的 SPA 上应用遥测(用 AngularJS 编写)。加载我的 SPA 时,它最初具有类似于以下内容的 DOM 结构:
<html>
<head> ... </head>
<body>
<div id="nav"></div>
<div id="content"></div>
<div id="footer"></div>
</body>
</html>
我通过 Tealium(第 3 方标签管理软件)注入我的遥测代码,它从 Head 异步注入遥测代码。我的遥测代码可以访问的唯一 DOM 选择器是:#nav、#content、#footer。如果我想跟踪用户何时点击 CTA,我将不得不编写如下内容:
$('#content').on('click', '.module .carousel .cta', function() { ... });
我的 SPA 相当大,我预计我将要跟踪数百个独特的项目。结果,将有数百个独特的 $.on() 调用。
我的问题是性能是否会成为一个问题,因为每次点击都必须“冒泡”到旁边的一个元素<body>
?有没有比只使用 $.on() 更好的解决方案?请注意,我无权访问 SPA 代码库。我可以访问的唯一代码库是 Tealium(它将 JavaScript 注入到 SPA 中)。