Jquery UI 自动完成小部件与 jquery.menu 小部件冲突
我的应用程序已经有一个使用 jquery.menu.js 的完整菜单,位于 http://wiki.jqueryui.com/Menu 。
我现在还尝试从 jquery ui 1.8.1 添加 jquery 自动完成小部件 - 但这两个都有一个相互冲突的 .menu() 函数。
如果我将 jquery-ui-1.8.1.custom.js 首先放在头部,则自动完成功能有效,但菜单无效。 如果我将 jquery-menu.js 首先放在头部,那么菜单可以工作,但自动完成功能不会。
有没有办法在不编辑任何插件的情况下解决这个问题? (如果我进行编辑,下次升级任一插件时我可能会丢失这些更改)
My app already has a completed menu using jquery.menu.js found at http://wiki.jqueryui.com/Menu.
I'm now also trying to add the jquery autocomplete widget from jquery ui 1.8.1 - but both of these have a .menu() function that conflicts with each other.
If I put jquery-ui-1.8.1.custom.js first in the head, then autocomplete works but the menu does not.
If I put jquery-menu.js first in the head, then the menu works but autocomplete doesnt.
Is there a way to solve this without editing either plugin? (If I edit, I will probably lose those changes the next time either plugin is upgraded)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
由于它们都使用名为
menu
的函数扩展 jQuery 对象,因此除了编辑其中一个来重命名它之外,没有其他方法。通读注释,自动完成中的代码似乎是 jQuery UI 中未来菜单小部件的起源。我建议您修改菜单小部件代码以重命名该函数,并认为当 1.9 发布(似乎是计划)并使用官方菜单小部件时,您只需将其丢弃即可。Since they both extend the jQuery object with a function named
menu
, there's no other way than to edit one of them to rename it. Reading through the commments, it appears that the code in autocomplete is the genesis of the future menu widget in jQuery UI. I'd suggest that you modify the menu widget code to rename the function, with the thought that you'd simply throw it away when 1.9 is released (as seems to be the plan) with an official menu widget.无需编辑 - 您可以在两者之间添加代码以将“菜单”重新映射到其他内容。
without editing - you could include code between the 2 to remap 'menu' to something else.