【发布时间】:2013-05-29 07:15:53
【问题描述】:
我使用一些带有replace: 'E' 的指令来使用网站中的JQueryUI 按钮和对话框。我的指令被命名为 uiButton 和 modal。
页面是使用点击链接时触发的 javascript 函数加载的(不要设计这个烂摊子......)。
我让 AngularJS 在包含的页面上工作的唯一方法是手动引导:
angular.element(document.getElementById('contentDiv')).ready(function() {
angular.bootstrap(document.getElementById('contentDiv'), ['myApp']);
});
当 AngularJS 被加载并与 ng-app 一起使用时,直接在 index.php 页面中,我的指令实际上甚至在 IE 中也有效。我使用了document.createElement(directive) 修复。
但是,使用导入功能,指令在 Chrome、FF 中有效,但在 IE8 中无效,它会生成 3 个 sliblings,就像写在 docs 中一样。
很遗憾,需要 IE 支持。
有人想解决这个问题吗?
【问题讨论】:
-
您可以考虑通过使用指令作为数据属性来绕过“IE”不知道我的超级元素”这样的问题。IE 是否报告任何控制台错误?
-
IE 控制台上没有错误。使用属性确实有效,我将它们作为最后的机会。
-
document.createElement(directive)是否也被动态调用?所有这些都可能需要在页面加载之前调用。 -
document.createElement('');肯定是解决方案,但我尝试将它们放在代码中的每个可能位置,但问题仍然存在。
标签: javascript internet-explorer angularjs