我在页面上java了一个jquery部分,可以触发某些自定义事件。 我页面的另一部分是一个 Angular 应用程序。我尝试在角度应用程序的控制器中注册到 jquery 事件:jquery 代码确实:
$("body").trigger("customEvent",data);
并且在控制器中注册到它的角度如下所示:
$("body").on('customEvent',function(event,data) {alert("here"); });
但在正常流程中,我没有得到事件。 奇怪的是,当我尝试在控制台中执行相同的 $("body").trigger...调用角度处理程序。有人知道如何做到这一点吗?不幸的是,我无法将jquery部分更改为角度,或者相反。
我认为正文在角度代码准备就绪之前触发事件。一种可能的解决方案是在超时时调用触发器事件代码,如下所示:
setTimeout(function(){
$("body").trigger("customEvent",data);
}, 500);
我认为这应该可以解决您的问题。