javascript – 具有相同函数名的两个jquery插件之间的冲突

前端之家收集整理的这篇文章主要介绍了javascript – 具有相同函数名的两个jquery插件之间的冲突前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在一个大型网站工作,其中包含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()

使用您的本地版本.

猜你在找的jQuery相关文章