我在一个大型网站工作,其中包含2个冲突的
jquery插件,用于执行自动完成.
1)jquery.autocomplete.js(不是jquery ui的一部分):
$.fn.extend({ autocomplete: function ...
2)jquery.ui.autocomplete.js(来自最新的jquery ui库),它也使用autocomplete关键字.
$.widget( "ui.autocomplete",{ ...
有没有办法指定我只使用第二个jquery.ui小部件
打电话的时候
$( "#tags" ).autocomplete ...
没有改变2个文件?
解决方法
由于第二个自动完成是使用$.Widget方法向jQuery注册自己,因此最容易改变内部行为的行为.
如果不对两个脚本加载之间的jQuery对象进行某种更改,您将无法加载它们,因为它们只会相互冲突(或覆盖).
我会试试这个:
<script src="jquery.autocomplete.js"> </script> <script> // rename the local copy of $.fn.autocomplete $.fn.ourautocomplete = $.fn.autocomplete; delete $.fn.autocomplete; </script> <script src="jquery-ui.autocomplete.js"> </script>
然后将:
$().autocomplete()
使用jQuery UI版本,和
$().ourautocomplete()
使用您的本地版本.