2016-05-04 48 views
0

Ich habe eine benutzerdefinierte jQuery-Datei, die meine andere jQuery-Datei deaktiviert oder in Konflikt bringt, wie kann ich das beheben? Bitte siehe unten: My Custom-Datei:Wie löst man jQuery confloct?

$(".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;  
}); 

Widersprüchliche Dateien:

<script src="js/jquery.isotope.min.js"></script> 
<script src="js/nprogress.js"></script> 

Ich würde mehr als glücklich sein, wenn diese behoben ist.

+0

alle in Konflikt stehende Dateien finden kann nicht. Bist du sicher? –

+0

Verwenden Sie zwei verschiedene Versionen von Jquery? –

+0

Ich habe gerade bearbeitet, die widersprüchlichen Dateien sind jetzt sichtbar –

Antwort

1

Ich gehe davon aus, dass Sie für bestimmte jQuery wissen widersprüchlich - Sie die Konsole Fehler überprüft haben, usw.

Sie Ihre jQuery in einer self-executing anonyme Funktion wickeln könnte wie folgt aussehen:

(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); 

EDIT - ein bisschen Erklärung, was oben passiert ist. Um mögliche Konflikte mit anderen Skripten/Frameworks zu vermeiden, übergeben wir das jQuery-Objekt als Argument an unsere Funktion (daher function($)). Das hat den Vorteil, dass Sie jetzt $ lokal innerhalb der Funktion verwenden können. Ohne Angst vor Konflikten mit anderen Skripten auf einem global Bereich.

+0

Das Problem scheint nicht damit zu tun zu haben Vielfältig inklusive jQuery-Versionen, aber bezogen auf ajax reloaded Inhalt –

+0

@ A.Wolff Ich denke, Sie haben wahrscheinlich Recht.Zum Zeitpunkt meiner ursprünglichen Antwort zu schreiben, war ich davon ausgegangen, dass der OP die Konsolenfehler überprüft hatte - daher warum er sagte, es war ein Standard-Mu Kleiner jQuery/Script-Konflikt. –

0

Ich konnte das Problem beheben, indem Sie es einfach mit Verpackung:

$(document).ready(function() { 
//----- 
});