【问题标题】:jQuery on click doesnt work on mobilejQuery on click 在移动设备上不起作用
【发布时间】:2017-01-14 16:17:19
【问题描述】:

为什么点击在移动设备上不起作用?在电脑上工作

还有其他几个问题,但没有一个答案有效。我尝试通过添加 onclick = "void(0)"、添加 href、添加 touchendtouchstart 来使元素可点击强>。没有任何帮助。

$('.size-list-item').on('click touchend', function(event) {
  event.preventDefault();

  $(".size-list-item").removeClass('active');
  $(this).toggleClass('active');
})
.active {
  font-size: 25px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

<div class="menu-list size-list-items">
  <a class="size-list-item" data-type="25m2" href="#000" onclick="void(0)">25м2</a>
  <a class="size-list-item active" data-type="50m2" href="#000" onclick="void(0)">50м2</a>
  <a class="size-list-item" data-type="80m2" href="#000" onclick="void(0)">80м2</a>
</div>

【问题讨论】:

标签: javascript jquery ios mobile


【解决方案1】:

问题不在于点击,它工作正常。在 WKWebView 中,如果要控制缩放或一般大小,则需要设置视口。只需将其放入您的 html 中即可:

<meta name="viewport" content="initial-scale=1.0" />

【讨论】:

    【解决方案2】:

    它不起作用,因为您要删除一个类,然后将一个类添加到同一个元素。所以它取消了它。也可以尝试添加“touchstart”而不是“touchend”。

    此外,由于元素中有 onclick="void()" ,因此每次点击该元素都会停止工作,因此它不应该存在。

    【讨论】:

    • 错了。类已从所有 .size-list-item 元素中删除。然后,它被添加回点击的元素。作者使用toggleClass 检查元素是否具有某个类,并在没有时添加它。所以这里没有什么可以抵消的。不过他可以使用addClass,因为在我们之前故意删除它时,不需要检查该类是否被应用。
    • 没有错。 toggleClass 改变了现有的类。在点: $(".size-list-item").removeClass('active');课没了。然后做 - $(this).toggleClass('active');再次添加它,因为 'this' 指的是 $(".size-list-item")
    • 这正是作者想要的。为了将点击的元素标记为.active,您需要从所有 先前活动的元素中删除该类,然后然后将该类添加到一个选定的元素。 ;-)
    • 真的吗?他们在哪里提到这一点?我能看到的只是这个问题 - 点击时的 jQuery 在移动设备上不起作用 为什么点击在移动设备上不起作用?适用于 PC 还有其他几个问题,但没有一个答案有效。我尝试通过添加 onclick = "void(0)"、添加 href、添加 touchend 和 touchstart 来使元素可点击。没有任何帮助
    • 根据您的编辑,onclick="void(0)"不会阻止点击工作。事实上,它不会做任何事情。 void(0) 就是 undefined。这很愚蠢,不需要,但它不会改变任何行为。
    猜你喜欢
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多