一尘不染

触摸设备的文档.click功能

css

我有一个使用jquery的子导航-用户单击顶层列表项,例如触发下拉菜单的“服务”。通过单击“服务”链接可以切换下拉菜单。我做到了,以便用户可以单击屏幕上的任意位置以将下拉列表切换到关闭状态。但是,由于该站点具有响应能力,因此我希望用户能够单击(触摸)屏幕上的任何位置以关闭下拉菜单,但是我的问题是它无法在触摸设备上正常工作。

我的文档单击代码设置为:

$(document).click(function(event) {

  if ( $(".children").is(":visible")) {
    $("ul.children").slideUp('slow');
  }

});

我假设document.click可能无法在触摸设备上使用,如果不能,那么有什么解决方法可以达到相同的效果?

谢谢


阅读 334

收藏
2020-05-16

共1个答案

一尘不染

要通过单击或触摸来触发功能,您可以更改此设置:

$(document).click( function () {

对此:

$(document).on('click touchstart', function () {

或这个:

$(document).on('click touch', function () {

touchstart事件在元素被触摸时立即触发,该touch事件更像是“轻击”,即表面上的单个接触。您应该真正尝试每种方法,以找出最适合您的方法。在某些设备上,touch触发起来可能会有些困难(这可能是好事,也可能是坏事-
它阻止了阻力的计算,但是意外的阻力可能会导致其不被触发)。

2020-05-16