无法定位iOS中的点击元素

时间:2014-03-10 12:52:03

标签: javascript jquery ios css

我已经尝试并失败了一个多星期,现在弄清楚为什么我的iOS设备不会针对特定元素的点击。

jsFiddle

在这个JSFiddle中,您可以尝试单击1.背景,然后当您单击其中一个彩色按钮时,它就像魅力一样,除非您使用iOS设备。这是为什么?我无法理解。

由于某些原因,这个.colors li不会在iOS设备中被触发。

$('.colors li').click(function(){
    alert('yo');
});

以下是甚至没有被触发的实际代码

$(document).on('click', '.bg ul.colors li', function () {
    $(this).siblings().removeClass('selected');
    $(this).addClass('selected');
    $('.case_background').css({ 'background': $(this).css('background') });

    caseObject.background = $(this).css('background');
});

刚刚发现,即使我说,也没有记录任何内容:

$(document).on('click', function(){ console.log('click') });

2 个答案:

答案 0 :(得分:1)

IOS有触摸事件..不是点击使用:

$('.colors li').bind("click touchstart", function(){
    alert('yo');
});

答案 1 :(得分:0)

这是IOS设备的一个众所周知的问题,当您单击一次时会触发悬停事件。所以哈代是对的。

但是要进一步说明为什么你的“布局”-tab工作正常而你的“背景”选项卡不是。这可能是因为您在“background”-tab中使用LI,并且在“Layout”选项卡中使用了Button元素。

您可以查看此问题以解决此问题:iOS automatic hover fix?