如何拦截按钮点击,运行分析代码,然后继续点击功能

How to intercept button click, run analytics code, and then continue with click function

我被要求构建代码,我可以拦截按钮的点击,停止点击时触发的功能,运行 分析脚本,然后触发原始点击功能。我可以在使用 onClick 时在标准按钮上使用 JS/jQuery 来执行此操作,但是此按钮内置于 Angular 中并改为使用 ng-click,所以我有点不适应。

我要拦截的按钮是这样的:

<input id="btn-hero-form-try" class="btn btn-solid" data-ng-disabled="trialForm.buttonDisabled" data-ng-click="trialForm.submitTrialForm('personal')" type="submit" value="Download Free Trial">

有几件事使这变得更加困难:我无权访问 CMS 上的 HTML 代码,因此我无法通过这种方式添加任何其他参数,并且被要求不要通过来自页面的脚本。

我一直在玩 ng-click-interceptor,但还没有开始工作。

如有任何帮助或指出正确的方向,我们将不胜感激。

您可以自由升级通用指令 ngClick - 只需创建您自己的指令!

通俗地说 - 它们共享相同的事件但分别调用。

它不会影响默认值,稍后会调用它,因此您需要打乱优先级,并且需要将其附加到现有应用程序。

如果您知道更改现有代码 - 那么您需要 jQuery、选择器 [ngClick] 来查找任何可点击的项目和 运行 异步 .on(click) 事件,具体取决于目标内容或 ngClick 属性的值。

我不认为将分析与实际点击的回调同步是个好主意,因为任何步骤都可能产生副作用。