我被要求构建代码,我可以拦截单击按钮,停止触发点击的功能,运行分析脚本,然后触发原始点击功能。使用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,但尚未开始工作。
任何帮助,或指向正确的方向将不胜感激。
答案 0 :(得分:0)
您可以自由升级常用指令ngClick - 只需创建自己的指令即可!
通常的说法 - 他们分享相同的事件但是分别打电话。
它不会影响默认值,稍后会调用它,因此您需要优先处理,并且需要将其附加到现有应用程序。
如果你知道更改现有代码 - 那么你需要jQuery,像[ngClick]这样的选择器来查找任何可点击的项目,并根据目标内容或ngClick属性的值运行异步.on(点击)事件。
我不认为将分析与实际点击回调同步是个好主意,因为可能会对任何步骤产生副作用。