Tengo un sitio de comercio electrónico de prueba en WordPress/WooCommerce.
https://siera.mcdir.ru/checkout/
Disculpe por el idioma ruso, pero esto no es importante ahora.
Estoy tratando de cambiar el color del botón del método de pago según el método elegido actualmente.
Pero desafortunadamente no puedo capturar el evento de JavaScript apropiado.
No hay ningún evento escuchando en los conmutadores como
<label for="payment_method_***">Cash on delivery</a>
.
Entonces, el software «Woocommerce» opera en el evento de clic general del cuerpo.
El problema es ese. Intento obtener la propiedad ‘mostrar’ de uno de los dos bloques de descripción de métodos de pago. Pero esta propiedad está cambiando por el software de animación. Así que estoy obteniendo el valor de la propiedad anterior, que ciertamente es incorrecto.
Por favor, vea la imagen.
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));
});
.