prestashopで製品を見るときに小さなフォームを読み込む簡単なモジュールを作成しました。prestashopの製品ページにJavascriptが完全には適用されていません
ユーザーが製品を見るときにJSスクリプトを読み込みます。
スクリプトがロードされていますが、多くの機能が適切に動作していません。私のセレクタは正しく、スクリプトはあるテスト環境で動作し、別のテスト環境では動作しないので、少し失われているか、あるいは単純なものが欠けているかもしれません。例えば
- ページが読み込まれ、これが実行されます(これは私のモジュールがロードされたJSスクリプトの一部である):
//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!");
}
}
アラートが(チェックボックスがチェックされていないこと)キックオフされますコンソールはボタンを適切にログに記録しますが、他には何も起こりません。クラスは追加されず、テキストは変更されません。私が火かき棒でそれを見ると、onClickイベントもそれに関連付けられているとは思われません。
特定の状況でモジュールJSが適用されないようにする、何らかのシステムJSスクリプトがありますか?
なぜ1つの状況では動作するのか、別の状況では動作しないのかを考えようとしています。