簡體   English   中英

如何解決jQuery沖突?

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM