You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

最新版jQuery与jQuery UI兼容问题:getClientRects is not a function报错

jQuery 3.7.0 + jQuery UI 1.13.2 报错排查方案

针对你遇到的getClientRects is not a function和TypeError: Class constructor p cannot be invoked without 'new'两个报错,可按以下方向排查:

  • 检查DOM元素有效性
    getClientRects is not a function的核心原因是调用该方法的对象不是合法DOM元素。排查:

    • 初始化jQuery UI组件时,选择器是否匹配到了实际存在的元素(避免null/undefined传入)
    • 元素是否在UI初始化前被动态移除或隐藏
    • 确认代码中没有把jQuery对象直接当成原生DOM元素调用方法(需用.get(0)或[0]取原生元素)
  • 排查ES6类转译或冲突问题
    TypeError: Class constructor p cannot be invoked without 'new'通常和类的转译或第三方脚本干扰有关:

    • 若项目用Babel等工具转译代码,检查配置是否正确处理了ES6类(避免将jQuery UI内部的类转译成无法正确实例化的形式)
    • 排查是否有其他脚本修改了原生Class构造函数的行为,或覆盖了jQuery UI的内部类
  • 确认脚本加载与初始化顺序

    • 确保jQuery(3.7.0)在jQuery UI(1.13.2)之前加载,顺序颠倒会导致UI组件无法正常初始化
    • 把UI组件的初始化代码放在$(document).ready()回调中,或放在页面底部(确保DOM完全渲染后再执行)
  • 排查第三方库冲突
    若页面存在其他JS库(如Prototype、Zepto),可能会和jQuery产生变量或方法冲突:

    • 尝试使用jQuery.noConflict()隔离jQuery变量
    • 逐一禁用其他非必要脚本,定位是否有脚本干扰了jQuery UI的内部逻辑

内容的提问来源于stack exchange,提问作者TS'

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 14:22:08