我可以在jQuery 3.x中使用jQuery UI 1.12.1吗?

Den*_*nis 30 jquery jquery-ui

我将jQuery更改1.7.23.1.1并将jQuery UI从版本更改1.8.16为版本1.12.1.

相当多的我现有的JS东西破了,像按钮的样式,并dialog以意想不到的方式表现,即模态对话的一半被神秘覆盖<div class="ui-widget-overlay ui-front"></div>

由于上面的覆盖,我怀疑jQuery UI出错了.我去了jQuery UI网站,我看到稳定版本是为了jQuery 1.7+.

这是否意味着我应该使用jQuery 1.x和jQuery UI,或者我可以使用jQuery 3.x好吗(再加上......试着弄清楚为什么我的样式和功能破坏了)?

jea*_*frg 27

jQueryUI支持以下jQuery版本范围:

"dependencies": {
    "jquery": ">=1.7.0 <4.0.0"
},
Run Code Online (Sandbox Code Playgroud)

我会说你很高兴.

资料来源:https://github.com/jquery/jquery-ui/blob/master/package.json#L53

可能是因为你看到很多破坏的组件,因为要么你没有导入他们的CSS,要么你正在覆盖他们的CSS.

  • 大多数动画不适用于 UI 1.12.1 和 jQuery 3.4.1。例如 jqueryUI hide(easingname, options, callback) 方法将完成动画然后再次显示对象。 (2认同)

Har*_*arm 8

你可以在jQuery 3.2.1中使用jQuery-UI吗?

Imho你不能没有严重的问题.请参阅下面给出的示例.

假设以下配置:

  • jQuery 3.2.1(CDN)
  • jQuery UI 1.12.1(CDN)
  • 检测jQ Migrate 3.0.0以进行错误检测.

我收到以下错误:

  • jQuery.expr [":"]现在是jquery-ui.min.js中的jQuery.expr.pseudos
  • jQuery.expr.filters现在是query-ui.min.js中的jQuery.expr.pseudos
  • 不推荐使用jQuery.unique,使用jQuery.uniqueSort

  • 对于任何其他偶然发现这个问题的人:从 jquery 3.4.1 开始,jquery-ui 使用的所有已弃用的东西都会在 jqmigrate 插件中抛出警告,但它们仍然可以工作 - 它们没有完全错误。别名仍然存在。jquery-ui 作者似乎并不真正关心更新他们的库以使用未弃用的别名,因此除非您想分叉 jquery-ui,否则您必须忍受它。 (10认同)
  • 这些是警告而不是错误,它们似乎都按预期工作.奇怪的是,jQuery UI并没有使用最新的jQuery语法. (7认同)
  • 我相信它们只是由于使用jQ Migrate而发出的警告。没有这个,我很确定它们将是全面错误。 (4认同)
  • 因为 jQuery UI 库尚未更新,所以我创建了一个补丁。请参阅此处:https://github.com/DenisLabrecque/jQuery-UI-Fixed-for-3.5.1 (4认同)