【问题标题】:Cannot target clicked element in iOS无法在 iOS 中定位单击的元素
【发布时间】:2014-04-13 14:01:42
【问题描述】:

我已经尝试了一个多星期,但失败了,我想弄清楚为什么我的 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') });

【问题讨论】:

标签: javascript jquery ios css


【解决方案1】:

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

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

【讨论】:

  • 在我的示例中单击“布局”选项卡效果很好。现在也试过了,但没有运气。谢谢你的回复:)
【解决方案2】:

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

但要进一步了解为什么您的“布局”选项卡可以正常工作而您的“背景”选项卡不能正常工作。这可能是因为您在“背景”选项卡中使用了 LI,而在“布局”选项卡中使用了 Button 元素。

你可以检查这个问题来解决这个问题:iOS automatic hover fix?

【讨论】:

  • 不,那里也有一个 ul.layouts,没有填写,抱歉。
  • 顺便说一句,我也可以点击手机中的菜单,那也是一个列表。
猜你喜欢
  • 2018-06-10
  • 1970-01-01
  • 2020-08-10
  • 1970-01-01
  • 1970-01-01
  • 2020-12-24
  • 2021-12-23
  • 2020-03-11
  • 2018-11-21
相关资源
最近更新 更多