У меня есть тестовый сайт электронной коммерции на Wordpress / Woocommerce.
https://siera.mcdir.ru/checkout/
Извините за русский язык, но это сейчас не важно.
Я пытаюсь изменить цвет кнопки метода оплаты в зависимости от выбранного в данный момент метода.
Но, к сожалению, я не могу перехватить соответствующее событие JavaScript.
Нет событий, прослушивающихтакие переключатели, как наложенный платеж
Таким образом, программное обеспечение "Woocommerce" работает с общим событием щелчка тела.
Проблема в том, что. Я пытаюсь получить свойство «display» одного из двух блоков описания методов оплаты. Но это свойство изменяется программным обеспечением для анимации. Итак, я получаю старое значение свойства, которое, безусловно, неверно.
Пожалуйста, смотрите картинку.
Пожалуйста, помогите.
var paym_click_counter=0;
var ch_bttn=function (method){
paym_click_counter++;
console.log('vodka_check_paym_bttn №',paym_click_counter,'method=',method);
var pm_01='payment_method_cod';
var pm_02='payment_method_bacs';
var paym_elms_arr=$('div.'+pm_01);
var display_01=paym_elms_arr.css('display');
// var display_bacs=$('div.payment_method_bacs').first().css('display');
if('block'==display_01){
console.log('display_01 - block!',display_01,'display_01',display_01);
$('label[for='+pm_01+']').css('opacity','0.9');
$('label[for='+pm_02+']').css('opacity','0.5');
} else {
console.log('display_01 - none!',display_01,'display_01',display_01);
$('label[for='+pm_01+']').css('opacity','0.5');
$('label[for='+pm_02+']').css('opacity','0.9');
}
};
ch_bttn(1);
$('body').bind( "click", function(e) {
console.log( 'e bind',e );
ch_bttn(3);
});
.................
$( document ).ajaxComplete(function( event, xhr, settings ) {
document.addEventListener("click", ch_bttn(1));
});