在Safari手机上点击事件延迟

问题描述 投票:0回答:1

这应该是非常简单的,特别是考虑到有很多类似的问题已经被解决了,但由于某些原因,我不能让它工作。

我在一个页面上的divs与一个叫做 "thing "的类绑定。当用户点击类为 "item "的元素时,我想让所有类为 "thing "的divs立即被删除。这在网页上可以完美地工作,但在手机Safari上就不行了。在手机上,元素在 "点击 "后仍然存在,直到我随后在页面上滑动。一旦我在点击后滑动,元素就会被删除。这就好像 "点击 "没有被视为 "触摸 "一样。

根据其他建议的解决方案,我已经添加了 <meta content="width=device-width, user-scalable=no" name="viewport">、"touchstart "事件和 html {touch-action: manipulation;} css.html

css.HTML

<div class="thing"></div>

JS

// On click
$(".item").on("click touchstart", function () {
    $(".thing").remove();
});
html jquery ios iphone safari
1个回答
0
投票

当用户点击一个带有 "item "类的元素时,我通过ajax进行API调用。我最终利用ajax中的成功函数来删除类为 "thing "的元素。

var success = function (response) {
        $(".thing").remove();
    }

这里最大的问题是类 "item "的元素在API调用成功返回之前不会被删除。当然,我更希望在观察到点击事件时就删除元素,但在Safari手机上我无法让它像预期的那样工作。

这个解决方案比等到用户第二次滑动时才删除元素要好。

© www.soinside.com 2019 - 2024. All rights reserved.