tengo el siguiente código
$('.radio-color').click(function () { $('.radio-color').removeClass('selected'); $(this).addClass('selected'); var color = $(this).attr('value'); //alert('<input type="hidden" name="color" value="'+color+'">'); $('#product_color').val(color); $('#h4_color').text('\u00A0' + color); var id = $(this).attr('id'); $('.flex-control-thumbs ').find("li:eq("+id+")").find('img').click(); });todo funciona bien en PC, pero la última declaración no funciona en dispositivos móviles. cual es:
$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').click();He intentado usar las opciones touchstart, touchend, etc., pero ninguna me ha funcionado hasta ahora. Estoy atascado en él durante 3 días ahora. necesita ayuda inmediata.
gracias de antemano
¿Tal vez intentar algo como esto?
var img = $('.flex-control-thumbs ').find("li:eq("+id+")").find('img'); $(img).trigger("click");¿Es IOS con el que tienes problemas? Yo mismo he tenido problemas para registrar clics en IOS. Aparentemente no lo permiten. Hay una respuesta de desbordamiento de pila en algún lugar que se vincula a un artículo de IBM que explica eso.
Una cosa que puede intentar hacer es eliminar el ".clic ()" con algo como ".remove ()", solo para asegurarse de que el elemento se dirija correctamente (¿tal vez alguna consulta de medios móviles está cambiando las cosas?)
En el peor de los casos, ¿puede replicar su función de clic sin hacer clic en el elemento?
Otra cosa que puede intentar: en algún lugar de su código, debe haber una función de clic asignada a ese elemento, ¿verdad? Algo como:
$('.the-element').on('click', function(){});Intenta reemplazar eso con
$('.the-element').on('click newTrigger', function(){});Luego, en su código anterior, reemplace
$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').click();Con
$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').trigger('newTrigger'); También veo agregar cursor: pointer; en CSS funciona para algunas personas en el elemento en el que se debe hacer clic.