[英]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.