怎样通过代码堆栈判断当前方法是由交互(点击)事件调用的?

如题:怎样通过代码堆栈判断当前方法是由交互(点击)事件调用的?

需求:弹窗弹出来,如果是交互(点击)触发调用的,就从点击的坐标位置逐步放大显示

思路:通过 new Error().stack 获取代码堆栈,判断字符串里面是否 包含 “PointerEventDispatcher.dispatchEventTouch”,如果包含,表示是交互触发
但是这个方法有2个问题:
1、new Error().stack 堆栈有限制长度,如果层级较多,前面的堆栈信息回丢失,即使是交互事件派发,也判断不出来
2、构建版本后,代码会压缩,PointerEventDispatcher名称会压缩成其他字符,也判断不出来。

请问是否还有其它更科学准确的判断方法?

简单点 就从点击回调中 一直传递下去

不建议搞这种搔操作,除非你只是用于测试啥的,代码都是你自己写的,是不是点击不是很清楚么
一般如果不想调用的函数额外传参数就记录一个全局属性就可以了,如下,细节自己处理
let click_pos = null;
onclickButton(){
click_pos = xxxxx;
showWin();
click_pos = null;
}

showWin(){
if(click_pos) xxxxx;
}

你这个思路不行;
在顶层加一个全局的触摸事件(捕获),触摸开始设置变量为true(默认为false),触摸结束设置为false,在弹窗弹出来的function中,执行完判断条件(无论条件是否满足)立刻重置该变量为false;

是为了防作弊吗

看来只好这样了