使用 PrimeFaces 手动添加/加载 jQuery 会导致未捕获的类型错误

2023-11-27

我正在使用 PrimeFaces 3.5 和 JSF 2.0。我想使用 jQuery 插件,因此我将 jQuery 包含在我的 web 应用程序中。

<h:head>
    <h:outputScript name="js/jquery.min.js" />
    <h:outputScript name="js/jquery-ui.js" />
</h:head>

但是,当使用 PrimeFaces 组件时,我会遇到如下未捕获的类型错误:

未捕获的类型错误:无法读取未定义的属性“长度”

未捕获的类型错误:对象 [object Object] 没有方法“自动完成”

未捕获的类型错误:无法读取未定义的属性“keyCode”

未捕获的类型错误:this.jq.draggable 不是函数

未捕获的类型错误:无法读取未定义的属性“LinearAxisRenderer”

未捕获的类型错误:对象 [object Object] 没有方法“fileupload”

未捕获的类型错误:this.jqEl.datetimepicker 不是函数

Etc.

这是如何引起的以及如何解决?


PrimeFaces 是一个基于 jQuery 的 JSF 组件库。它already附带 jQuery 和 jQuery UI,开箱即用。由于某种原因,手动加载 jQuery/jQuery UI 的另一个副本是不正确的。多个不同版本的 jQuery 文件只会以这种方式相互冲突,因为它们不一定使用/共享完全相同的变量/函数。

摆脱所有手动加载的 jQuery/UI 文件。这毫无意义。

如果您这样做是因为您需要在某些页面中使用一些 jQuery/UI 魔法,而该页面不一定使用任何 PrimeFaces 组件(因此其捆绑的 jQuery 不会被自动包含,因此$()将不可用),那么您始终可以在某些主模板中手动显式包含 PrimeFaces 捆绑的 jQuery,如下所示:

<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<h:outputScript library="primefaces" name="jquery/jquery-plugins.js" target="head" />

(the target="head"如果你直接在里面指定它们是不必要的<h:head>)


如果您绝对需要提供自己的 jQuery 版本,因为 PrimeFaces 中捆绑的版本已经过时,那么您有 2 个选择:

  • 让您的 web 应用程序在完全相同的资源标识符(库/名称)上提供自己的资源/resources/primefaces/jquery/jquery.js(不要更改路径或文件名!)。然后将选择这个而不是 PrimeFaces 捆绑的那个。

  • Unpack primefaces.jar, 代替/META-INF/resources/primefaces/jquery/jquery.js使用较新版本的文件(不要更改路径或文件名!),重新打包新版本primefaces.jar.

(并且不要忘记删除所有这些<h:outputScript>引用自己的副本)

但要彻底测试。由于与 PrimeFaces 捆绑版本相比,较新的 jQuery 版本中存在微小的更改/错误修复,因此某些 PrimeFaces 特定的功能可能会因升级而中断。

最重要的是,您应该绝对确保您这样做not提供 jQuery/UI 的多个副本,否则您仍然会像现在一样面临冲突/冲突。使用$.noConflict()正如有些人可能建议的那样,绝对不是为了能够一起使用多个 jQuery 库。它的目的是能够将 jQuery 与另一个 JS 库一起使用,该库恰好也使用$()作为全局函数,例如 Prototype。另请参见 a.o.Jquery和原型不冲突.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 PrimeFaces 手动添加/加载 jQuery 会导致未捕获的类型错误 的相关文章

  • 如何在 jquery 中使 ajax 数据键动态化?

    我试图使内联编辑成为动态的 因此它只依赖于我的标记中的一些数据属性 所以现在的代码如下 inline edit editable function value settings var editableField this ajax typ
  • 防止jsTree节点选择

    我正在使用 jsTree 插件列出文件系统中的文件夹 我需要防止用户在满足特定条件之前更改到另一个节点 下面的代码不会停止传播 我看到了一些使用其他插件的解决方案 但这是一个简单的任务 没有其他插件它一定是可能的 jstree on sel
  • 使用JQuery检查元素是否有边框?

    所以我正在玩 el css 尝试确定元素是否有边框 我用 css border style solid 设置边框 这是可行的 但实际上它设置了 4 种单独的样式 border right style border left style bo
  • 使用 javascript 将 html 文本渲染为位图,无需服务器端代码

    我需要使用 javascript 代码来转换 html 中的文章 帖子 以便最终用户以位图的形式查看 有没有办法在没有服务器端代码的情况下做到这一点 example p testing text here p 您可以使用例如html2can
  • Ajax JSON 数据和灯箱冲突

    我有一个带有灯箱插件的画廊设置光廊 http sachinchoolur github io lightGallery docs 该画廊与静态 HTML 完美配合 当我动态抓取 API 数据并尝试让灯箱处理这些项目时 问题就出现了 我似乎无
  • 比较表中的行以了解字段之间的差异

    我有一个包含 20 多列的表 客户端 其中大部分是历史数据 就像是 id clientID field1 field2 etc updateDate 如果我的数据如下所示 10 12 A A 2009 03 01 11 12 A B 200
  • 使用 jQuery UI 日期选择器选择日历更改 URL

    我正在使用 jQuery UI 选择器 我想知道当有人选择日期时是否有可能 它会自动将他们重定向到 URL 如下所示 index php date 2013 10 15 这是我正在使用的插件 Date
  • jQuery 在 Chrome 下发现错误元素

    我使用 jQuery 迭代 HTML 表 并动态填充每行的行号 通过在文本框中填充行号 function updateRowNums myTable find tr each function index this find input i
  • 水平平滑滚动 100px

    Heyjo problem 一周以来我一直在寻找 javascript 或 jQuery 代码 以便在我的网站上实现滚动按钮 我失败的那一刻是按钮应该多次工作的时候 他的任务不是滚动到专用元素 而是应该向左滚动 例如 100px 此外 滚动
  • 如何设置在浏览器的新选项卡(_blank)中打开的pdf文件的标题

    这是我的尝试 是否在新选项卡上打开 但它总是显示test pdf如题 function titlepath path name alert path alert name document title name window open pa
  • 一个接一个地淡入div

    大家好 我很擅长 HTML 和 CSS 但才刚刚开始接触 jQuery 的皮毛 我希望让 3 个 div 在页面加载时逐渐淡入 到目前为止我有这个 我听说使用 css 将显示设置为 none 对于任何使用非 JavaScript 浏览器的人
  • 检测 WebGL 支持的正确方法?

    我正在尝试跨多个浏览器检测 WebGL 支持 并且遇到了以下情况 当前版本的 Firefox 似乎使用以下检查来报告积极支持 即使访问者的视频卡被列入黑名单和 或 WebGL 被禁用 if window WebGLRenderingCont
  • 如何设置视频文件的预览,从输入类型='文件'中选择

    在我的模块之一中 我需要从 input type file 浏览视频 之后我需要在开始上传之前显示选定的视频 我使用基本的 HTML 标签来显示 但它不起作用 这是代码 document on change file multi video
  • `attr('checked', false)` 不适用于 IE6

    正如标题所说 我无法获取 attr checked false 在 IE6 上工作 我正在克隆一些 HTML 然后在将新克隆的 HTML 分配给元素之前 我会运行它并取消选中新克隆部分中的所有复选框 这在除 IE 6 之外的所有浏览器中都可
  • 在 iframe 中打开的网页上调用我的 jquery 函数

    我想单击一个按钮 该按钮位于基于父页面中的类选择器的 iframe 中打开的网页上 我试过这个 each classname function i el setTimeout function el trigger click 30000
  • 使用 AJAX 加载部分视图不起作用

    请原谅我 我是 MVC 和 AJAX 的新手 目前我只是提交一个表单 我想使用表单中的数据使用 ajax 更新部分视图中的表 My UserInfo部分视图如下所示 model IEnumerable
  • 从支持 bean 更新 PrimeFaces 数据表

    我在 bean 中使用 Schedule Timer 当员工注册从指纹设备获取数据时 它会更新变量 当 bean 中的变量更新时 我需要从支持 bean 更新 jsf 中的组件 我尝试使用 primefaces poll 组件 但它每次都会
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 将数组从 jquery ajax 传递到代码后面

    我必须将二维数组传递给在asp net网页代码后面编写的页面方法我有一个变量objList作为二维数组 我使用以下代码来实现此目的 但没有成功 并且未调用页面方法 脚本语言 function BindTable objList ajax u
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • Google plus客户端“发生内部错误”[重复]

    这个问题在这里已经有答案了 昨天 当我尝试在我的应用程序中使用 Google Plus 签署用户时 我开始收到 发生内部错误 我使用得很好并且没有更改 代码已经很长时间没有改变了 GmsClient回报 connect bindServic
  • Azure 上的 Django 不加载静态文件

    我按照下面的教程在azure上创建了一个django项目 http www windowsazure com en us develop python tutorials web sites with django 一切正常 直到我尝试安装
  • 大量 if 语句的快速替代方案

    我是java初学者 我正在制作一个简单的程序 在其中输入一些内容 如果我输入的内容与 数据库 上的其中一个内容匹配 那么它会打印一些文本 有没有比这样做更简单的方法来检查这一点 int 1 int 2 int 3 etc if USER I
  • NoClassDefFoundError:无法初始化类 androidx.customview.poolingcontainer.PoolingContainer

    使用 Jetpack Compose UI 工具1 2 0 rc01和组合编译器1 2 0 android composeOptions kotlinCompilerExtensionVersion 1 2 0 dependencies d
  • Node.js 中域的替代方案

    由于 nodev4 2 1 已发布 并且该域被标记为已弃用 所以现在我需要它的替代方案 早些时候 我曾经将请求级别变量存储在域中 以便我可以在请求的同一上下文中查找数据的其他过程中使用这些变量 我们有什么办法可以实现它吗 注意 我无法使用请
  • 如何使用 boto3 为 AWS Cognito 创建 SECRET_HASH?

    我想使用 boto3 和 python 为 AWS Cognito 创建 计算 SECRET HASH 这将合并到我的 fork 中warrant 我将我的 Cognito 应用程序客户端配置为使用app client secret 但是
  • 如何在C#中使用实体框架从存储过程获取输出结果?

    我正在开发一个 ASP NET MVC 项目 我的目标是从表格中准备一份报告 所以 我第一次编写 Linq 代码 但速度太慢了 之后我编写了一个 SQL 查询 它非常快 我想使用存储过程从我的表中获取报告数据 事实上 我的项目非常简单 它获
  • 对于 git diff --name-status,输出是什么意思?

    当我跑步时git diff name status我看到这样的行 MM mm Jenkinsfile MM 是什么意思 mkreiger1 的 可能重复 确实提供了有用的信息 但就像 Koop4 的答案一样 它在不引用回答此问题的 git
  • 如何禁用颤振上的自动热重载?

    我已经搜索过这个问题并看到了解决方案 但我无法找出问题所在 我收到一些错误 因为每次编写代码时 它都会在我完成代码之前直接运行热重载 那么 如何禁用 flutter 中的自动热重载呢 flutter 中的自动热重载非常烦人 我只想使用基于
  • 两次调用 CoInitialize()

    假设我的应用程序在启动时调用 CoInitialize 并在存在之前调用 CoUninitialize 假设我有一个由我的应用程序使用的第三方组件并执行类似的操作 这会导致某种故障吗 当调用已经提交时 可以调用 CoInitialize 吗
  • Postgres 类似于 SQL Server 中的 CROSS APPLY

    我需要将为 MS SQL Server 2005 编写的 SQL 查询迁移到 Postgres 9 1 最好的替代方法是什么CROSS APPLY在这个查询中 SELECT FROM V CitizenVersions CROSS APPL
  • 为什么我的 D3 折线图显示每个实体的黑色区域?

    我制作了一个网络爬虫 用于获取有关不同银行的货币转移汇率的数据 并在一段时间内以 D3 线图的形式显示该数据 每家银行都有一条线 汇率为每天 cronjob 服务器端确保每天都会进行抓取 在前端 它使用 D3 json 从此 url 获取数
  • 从语音中获取用户输入?

    我刚刚开始尝试 C Net 中的 Windows Speech to Text 功能 我目前已经掌握了基础知识 IE 说点什么 它会根据你所说的提供输出 但是 我正在努力弄清楚如何实际接收用户输入作为变量 我的意思是 例如 如果用户说 Ca
  • 将图像文件保存到sql Server并将字节数组转换为图像

    我将图像存储在数据库中 并希望将它们从字节数组转换为图像 将对象转换为字节数组没有问题 但在尝试从字节数组转换为图像时出现 参数无效 错误 我传递给方法的对象来自数据集行 存储过程 USE GO Object StoredProcedure
  • R 中的 diag() 函数

    有没有办法使用diag 矩阵中的函数而不使用内置函数或迭代 M lt matrix 1 9 ncol 3 make a matrix q5b lt function M function 我知道M 1 1 M 2 2 and M 3 3 会
  • 如何在没有库函数的情况下将字符串解析为整数?

    最近我在一次采访中被问到这个问题 如何在不使用任何库函数且不考虑语言的情况下将 12345 形式的字符串解析为其整数表示形式 12345 我想到了两个答案 但面试官说还有第三个 这是我的两个解决方案 解决方案 1 保留一本映射 1 gt 1
  • 如何相对于鼠标位置旋转图像?

    我正在尝试做这样的效果 http metatroid com articles在页面顶部 但我无法仅使用他们给出的代码来旋转它 var img image if img length gt 0 var offset img offset f
  • 如何告诉 google bot 跳过部分 HTML?

    有很多关于相反情况的信息 当人们尝试在 HTML 中包含内容时 谷歌机器人可以看到这些内容 但用户不可见 就我而言 我需要相反的东西 从谷歌机器人隐藏一些 html 问题是如何 闪存不是答案 也不想使用花哨的 ajax 东西 主要是因为我立
  • 获取 Cocoa 中的当前壁纸

    我正在使用此代码来获取当前壁纸 NSURL imageURL NSWorkspace sharedWorkspace desktopImageURLForScreen NSScreen mainScreen 这工作正常 但是当我将图片文件夹
  • 使用 PrimeFaces 手动添加/加载 jQuery 会导致未捕获的类型错误

    我正在使用 PrimeFaces 3 5 和 JSF 2 0 我想使用 jQuery 插件 因此我将 jQuery 包含在我的 web 应用程序中