[英]How to resolve jQuery conflict?
我有一个jQuery自定义文件,它正在禁用或与其他jQuery文件冲突,请如何解决此问题。 请参见以下内容:我的自定义文件:
$(".search").keyup(function()
{
var searchid = $(this).val();
var dataString = 'search='+ searchid;
if(searchid!='')
{
$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{
$("#result").html(html).show();
}
});
}return false;
});
冲突的文件:
<script src="js/jquery.isotope.min.js"></script>
<script src="js/nprogress.js"></script>
如果这个问题解决了,我会很高兴。
我假设您知道某些jQuery存在冲突-您已经检查了控制台错误等。
您可以将jQuery包装在一个自动执行的匿名函数中,如下所示:
(function($) {
$(".search").keyup(function()
{
var searchid = $(this).val();
var dataString = 'search='+ searchid;
if(searchid!='')
{
$.ajax({
type: "POST",
url: "search.php",
data: dataString,
cache: false,
success: function(html)
{
$("#result").html(html).show();
}
});
}return false;
});
})(jQuery);
编辑-上面发生的事情的一些解释。 为了防止与其他脚本/框架的任何潜在冲突,我们将jQuery对象作为参数传递给我们的函数(因此, function($)
)。 这样做的好处是您现在可以随意在函数中本地使用$
。 不必担心与global
范围内的其他脚本发生冲突。
我仅用以下命令就可以解决该问题:
$(document).ready(function() {
//-----
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.