Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 不同版本之间的角度换行中断?_Javascript_Html_Css_Angularjs - Fatal编程技术网

Javascript 不同版本之间的角度换行中断?

Javascript 不同版本之间的角度换行中断?,javascript,html,css,angularjs,Javascript,Html,Css,Angularjs,看看这个运行的是Angular 1.0 将鼠标悬停在图像上,效果很好(您将看到图像上方的覆盖) 我所做的是使用.wrap(..)函数用容器div包装元素,然后将mouseover事件绑定到容器div。效果很好 但是,在Angular 1.3中,与此类似,代码完全相同,container div不将my元素识别为其子元素,这会影响mouseover事件的触发 我是做错了什么,还是在1.3中被破坏了?从Angular 1.2.x到1.3.0的跳跃涉及到对jqLite的一些更改。其中之一就是提交 如果

看看这个运行的是Angular 1.0

将鼠标悬停在图像上,效果很好(您将看到图像上方的覆盖)

我所做的是使用
.wrap(..)
函数用容器div包装元素,然后将
mouseover
事件绑定到容器div。效果很好

但是,在Angular 1.3中,与此类似,代码完全相同,container div不将my元素识别为其子元素,这会影响mouseover事件的触发


我是做错了什么,还是在1.3中被破坏了?

从Angular 1.2.x到1.3.0的跳跃涉及到对jqLite的一些更改。其中之一就是提交

如果运行每一个,则在该操作生效之前提交表示存在一个子项。那表示0。不过,这是有意的。这是为了防止意外的副作用,并更好地匹配JQuery的实现

事实上,在该提交中添加了一个针对您的确切用法的测试断言:

expect(root.children().length).toBe(0);
此特定情况的解决方案可能是稍微更改代码,从:

el = angular.element('<div class="overlay-container"></div>');
iElement.wrap(el);
el=角度元素(“”);
包装材料(el);
致:

iElement.wrap(“”);
el=iElement.parent();
也就是说,我不知道为什么会改变这种行为。鉴于已经创建了一个
angular.element
,我认为创建另一个元素没有多大意义。

angular.js不使用。这意味着您的代码可能会被angular的任何更新破坏。(我不明白angular团队为什么会创建这种依赖关系)

对于angular版本的每次更新,您都应该检查并更新每次中断更改的代码

您甚至不能依赖次要版本号。changelog中存在修补程序更新的中断更改


如果您将应用程序从1.0更新到1.3,我建议您从changelog开始,因为可能会有一些最初不可见的bug。因为有大量的中断(我使用find in browser时有159个中断),而且大多数中断都在v1.0到v1.4之间。

这就解决了问题。挖得好!对我来说,这似乎仍然是一种奇怪的行为,但你能做些什么:)谢谢你的回答。我自己没有使用1.0,只是在Fiddler中写了一些东西,当我试图在我的项目中使用它时,发现它不起作用。我花了一些时间才发现这是
包装
的东西。
iElement.wrap('<div class="overlay-container"></div>');
el = iElement.parent();