我正在编写一些代码来略微修改现有网站。
现有网站是使用Angular构建的。我的代码使用的是jQuery,但我可以使用任何JavaScript。
但是,我无法更改现有网站。我无法更改现有的Angular脚本。我可以更改我的一个外部脚本文件,该文件是网站上的src。在加载Angular脚本和jQuery脚本之后,我的代码正在运行。
如何在Angular完成渲染DOM后运行我的jQuery代码?
$(document).ready()
提前开火。
我从未使用过Angular,但是在线阅读,它看起来应该发出
$viewContentLoading
事件,但是我无法在我的脚本中捕获此事件。
谢谢,
答案 0 :(得分:1)
你是对的。在尝试运行任何jQuery之前,您需要等待DOM加载!
这种简单而不安全的方法是在angualrjs中使用$timeout
。 See the doc here
$timeout(function() {
//your jQuery code here
}, 50);
这告诉angualrJs等待50毫秒然后执行函数内部的任何内容。 50毫秒应该是足够的时间 - 但如果页面加载缓慢,则可能需要增加它。
有更好的方法!
您应该查看directives以避免使用jQuery。