AngularJS:为什么ng show没有在IE11上运行
AngularJS : Why ng-show is not working on IE11?
在我的代码中,ng show在firefox上运行良好,而在IE 11上则不然。
<div ng-show="isExist" class="panel panel-default">
和控制器
$scope.isExist = false;
if(user.name)
{
$scope.isExist = true;
}
我得到了$scope.isExist为false,Div在ff/chrome上被隐藏,但在ie11上没有。
这实际上是一个CSS问题。ng show将向元素中添加.ng隐藏类。仔细检查面板和面板默认类,以确保没有任何内容覆盖样式。
或者删除你的面板和面板默认类,它就会起作用。
我遇到了ng-show
无法在Internet Explorer中工作的同样问题。
ngShowAngularJS官方文档提到了这一点,并提供了一些解决方法。
(我会复制粘贴该链接中提到的文本,以防该链接已过期或由于某种原因无法工作)
当使用
ngShow
和/或ngHide
在元素之间切换时可能发生的情况是,要显示的元素和要隐藏的元素都是在很短的时间内可见。这种情况通常发生在包含
ngAnimate
模块,但没有为CCD_ 5/CCD_。互联网浏览器比其他浏览器更容易受到影响。有几种方法可以缓解这个问题:
- 禁用受影响元素上的动画
- 使用
ngIf
或ngSwitch
而不是ngShow
/ngHide
- 使用特殊的CSS选择器
ng-hide.ng-hide-animate
在受影响的元素上设置{display: none}
或类似内容- 使用
ng-class="{'ng-hide': expression}
而不是ngShow
/ngHide
- 在受影响的元素上定义动画
第二个建议(用ng-if
代替ng-show
)对我有效。所以在你的情况下,你可以考虑使用这个-
<div ng-if="isExist" class="panel panel-default">
相关文章:
- 如何使用phaser使html5游戏在移动设备浏览器上运行
- 使用压缩的JavaScript文件(不是运行时压缩)
- Javascript运行php文件,然后下载文件
- chrome扩展:尽管运行了at:documentidle,js脚本还是过早启动
- 我已经创建了一个jquery转盘,并使用if条件来运行和停止转盘
- Angularjs代码未在匿名函数中运行
- 具有大型数据集的组件仅在 IE11/Edge 上运行缓慢
- AngularJS:为什么ng show没有在IE11上运行
- Sys.WebForms.PageRequestManager在IE11中是未定义的错误,在IE10及以下版本中运行良好
- IE11 运行时错误: 429 ActiveX 组件无法创建对象
- 此代码未运行IE11
- 由于某种原因(淡出等),这个JQuery网站无法在IE11上运行
- 如何轻松运行本地内容(javascript, Flash),特别是在IE11中
- 可以在IE11中运行userscript
- 可以用量角器运行IE11仿真吗?
- JCarousel只运行在IE11当我有检查元素窗口打开
- 在IE11中出现Java脚本错误,但在IE9中运行正常
- JavaScript在ie11中没有像预期的那样运行,但在所有其他浏览器中都运行良好
- Javascript document.contains无法在IE11上运行
- 当作为 Web 应用程序运行时,对象不支持 IE11 上的属性或方法“create”,在浏览器中直接打开 HTML 时很