FineUI 官方论坛

标题: 【已解决】jQuery v3.x导致jQuery UI自动完成组件异常 [打印本页]

作者: sanshi    时间: 2018-8-15 12:23
标题: 【已解决】jQuery v3.x导致jQuery UI自动完成组件异常
[attach]11391[/attach]


因为默认jQuery升级到了v3.x,而jQuery UI还是 v1.11.4,这是jQueryUI的一个BUG:链接:jquery 3.0.0 breaks jqueryui dialog with error jf....

按道理这是jQueryUI的一个BUG,升级到jQueryUI v1.12.1就好了,不过最新版的jQueryUI支持IE11(而IE9,10不在测试之列):链接:Browser Support | jQuery UI

这就有点纠结了....

有了,上面的帖子中提到 jQuery Migrate 3.0.0 可以解决这个问题:链接:https://code.jquery.com/jquery-migrate-3.0.0.js

由于出现错误的是下面语句:
// Support: IE <=11 only // Running getBoundingClientRect on a // disconnected node in IE throws an error if ( !elem.getClientRects().length ) { return { top: 0, left: 0 }; }

传入的 elem 是 window 对象,自然window对象就没有 getClientRects 这些方法。而jQuery Migration中对此做了判断,如果传入非DOM节点对象,就直接返回 { top: 0, left: 0 }

由此可以解决问题。FineUIPro v5.2.0也会包含这个更新,官网示例随后更新。

最后,多谢 @康师傅 及时发现这个问题


扫码加入【三石和他的朋友们】:http://fineui.com/fans/


作者: zy32002    时间: 2018-8-15 12:34
老大为什么要换成jquery3.0,是处于什么考虑的?话说jquery3 不兼容jquery1,对低版本的ie也不兼容。
作者: sanshi    时间: 2018-8-15 12:42
zy32002 发表于 2018-8-15 12:34
老大为什么要换成jquery3.0,是处于什么考虑的?话说jquery3 不兼容jquery1,对低版本的ie也不兼容。 ...

人往高处走,水往低处流。紧跟最新版本的好处有很多,比如遇到BUG可以及时得到修正,比如可以用到一些新特性,比如性能会好一些,比如.....

前段时间,我们的一位企业版客户遇到一个苦笑不得的问题,说是FineUI用的jQuery版本太低,有漏洞不给验收。这也是本次升级的一个出发点。

另外一点,jQuery v3.x支持IE9+,去除了IE8相关的代码,性能各方面都会好一点。以后IE11以下的浏览器都会逐渐消失,这是个潮流和趋势。

另:我们依然可以通过全局参数 JSLibrary=JQv1,来支持之前的jQuery v1.11.4,如果你还在对老掉牙的IE8做一定的支持,可以启用此参数。





欢迎光临 FineUI 官方论坛 (https://fineui.com/bbs/) Powered by Discuz! X3.4