如何在angular js中监听dom就绪事件
How to listen to dom ready event in angular js
这是我的示例
http://plnkr.co/edit/Foc5vEa5HJ0Uz1fGZXtS?p=preview
css:
.header{
background:#f00;
height: 40px;
position: fixed;
width: 100%;
}
html,body{
height:100%;
margin:0;
}
.footer{
background:#00f;
height:40px;
}
.main{
padding-top:40px;
min-height:calc(100% - 80px);
}
.main-section{
height:100%;
background:#fF0;
}
.fit-parent-height{
height:100%;
}
html:
<body ng-controller="MainCtrl">
<div class="header">HEADER</div>
<div class="main" fit-parent-height>
<div class="main-section" ng-include="'main-section.html'" ></div>
<div class="footer">FOOTER</div>
</div>
</body>
js:
scope.$on('$viewContentLoaded',function(e){
//add class to change min-height to height in css;
})
我想使主节块高度适合父节但它不起作用。。。。
我尝试绑定$viewContentLoaded、$stateChangeSuccess、$includeContentLoaded,但仍然不起作用。
请帮帮我,谢谢。
您的代码完全正确。并且它在el.outerHeight()
功能上失败。其背后的原因是Angular内部使用了较轻版本的jQuery-eich,不过是jqLite
API&在中,jqLite API不包含outerHeight()
方法。
您需要在您的Plunkr中包含jQuery文件。这将很好地工作
编辑(每次更新的更改)
正如你在问题中提到的,下面给出了所有三个事件的功能。
$includeContentRequested每次请求ngInclude内容时发出$viewContentLoaded每次重新加载ngView内容时发出。$stateChangeSuccess当发生哈希url更改时调用
以上三个并不能告诉我们视图是否在UI上呈现。
删除所有事件,如$viewContentLoaded
和all。然后在内部ng-include="'test.html'"
的div上添加ng-init="switchFitParent()"
ng-init
将调用包含ng-include
目录的div的呈现,然后switchFitParent()
方法的方法将设置/移除类。
main section.html
<div>
<style>
h3{margin:0};
</style>
<h3>MAIN SECTION</h3>
<div ng-include="'test.html'" ng-init="switchFitParent()"></div>
</div>
工作Plunkr
希望这能对你有所帮助。谢谢
- 如何在AngularJS中监听点击事件,而不是触摸事件
- BackboneJS-监听嵌套的模型更改
- 在Firefox restartless插件中,当一个新窗口打开时,我如何运行代码(监听窗口打开)
- 监听touchend有时会触发移动点击事件
- 使用ajax的Django jquery.如何让jquery监听id's生成的表单
- JQuery监听点击并使用点击元素发出警报's href
- jQuery有没有,或者有没有jQuery插件,内置了监听CSS3动画事件的功能(例如animationEnd)
- 如何让Google Maps API v3监听dragend事件并在投递时填充表单字段
- 如何在angular js中监听dom就绪事件
- Phonegap:监听页面并关闭InAppBrowser返回index.html的简单方法
- React鼠标事件在没有监听它们的组件上触发
- 监听发布到网站的广告的新网址
- 我应该使用什么模式在 Node/JavaScript 中制作监听机器人
- 如何在具体化 CSS 中监听<选择>更改事件
- 如何在谷歌地图中同时监听多个DOM事件
- 从DOM元素上的事件监听切换
- 监听DOM元素何时被移动
- 监听DOM初始加载后呈现的元素
- 监听DOM事件(特定属性)
- 在AngularJS中监听事件和操作DOM(编译、链接)的地方