angewendet Ich habe ein einfaches Modul erstellt, das ein kleines Formular lädt, wenn der Benutzer ein Produkt in Prestashop betrachtet.Javascript wird nicht vollständig auf der Produktseite in Prestashop
Es lädt ein JS-Skript, wenn der Benutzer ein Produkt ansieht.
Das Skript wird geladen, aber viele der Funktionen funktionieren nicht ordnungsgemäß. Meine Selektoren sind richtig und das Skript funktioniert in einer Testumgebung und nicht in einer anderen, so dass ich ein wenig verloren bin, oder vielleicht vermisse ich etwas Einfaches.
Zum Beispiel - dies wird ausgeführt, wenn die Seite geladen wird (dieser Teil des JS-Skript ist von meinem Modul geladen):
//disable AddToCart Button unless criteria are met
function modifyAddToCart(){
if ($('#customer-confirmation-check').prop('checked')) {
alert ('customer confirm check');
$('#add-to-cart-btn').removeClass("toBeCustomized");
$('#customization-required').text("");
$('#add-to-cart-btn span').text("Add To Cart");
$("html, body").animate({ scrollTop: $('#buy_block').offset().top }, 1000);
} else {
alert ('should be toBeCustomized');
console.log( $('#add-to-cart-btn'));
$('#add-to-cart-btn').addClass("toBeCustomized");
$('#add-to-cart-btn span').text("Customize This Item");
$('#customization-required').text("You must customize this product before it can be added to your cart!");
}
}
Die Warnung wird gekickt (dass das Kontrollkästchen wurde nicht geprüft) , protokolliert die Konsole den Button entsprechend - aber keines der anderen Dinge passiert. Die Klasse wird nicht hinzugefügt, der Text wird nicht geändert. Wenn ich es in Firebug ansehe - ich sehe auch nicht, dass die onClick-Ereignisse damit verbunden sind.
Gibt es eine Art System-JS-Skript, das verhindert, dass ein Modul-JS in bestimmten Situationen angewendet wird?
Versuchen herauszufinden, warum es in einer Situation funktioniert, aber nicht in einer anderen.