点击img使用jquery无法在移动设备上运行

时间:2017-03-11 14:36:34

标签: jquery

我有以下代码

$('.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();
                        });

一切都在PC上工作正常,但最后一个声明不适用于移动设备。这是:

$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').click();

我尝试过使用touchstart,touchend等选项,但到目前为止还没有对我有用。我现在被困3天了。需要立即帮助。

提前致谢

2 个答案:

答案 0 :(得分:0)

也许尝试这样的事情?

var img = $('.flex-control-thumbs ').find("li:eq("+id+")").find('img');
$(img).trigger("click");

答案 1 :(得分:0)

IOS你遇到了麻烦吗?我自己在IOS注册点击时遇到了问题。显然他们不允许这样做。在某个地方有一个堆栈溢出答案链接到解释该文章的IBM文章。

你可以尝试做的一件事是删除&#34; .click()&#34;与#34; .remove()&#34;之类的东西,只是为了确保元素被正确定位(也许某些移动媒体查询正在改变一切?)

最糟糕的情况是,您是否可以在不实际点击元素的情况下复制您的点击功能?

您可以尝试的另一件事:代码中的某处,必须有一个分配给该元素的点击功能,对吧?类似的东西:

$('.the-element').on('click', function(){});

尝试用

替换它
$('.the-element').on('click newTrigger', function(){});

然后在上面的代码中,替换

$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').click();

使用

$('.flex-control-thumbs ').find("li:eq("+id+")").find('img').trigger('newTrigger');

我还看到在CSS中添加cursor: pointer;适用于要点击的元素上的某些人。