javascript - 如何在用户第二次点击时隐藏移动设备上的元素?

标签 javascript html css

我有这个样本

link

.container-btn-tooltip:hover .tooltip-content {
  display: block;
}

.tooltip-content {
  background: black;
  color: white;
  display: none;
  max-width: 360px;
  min-width: 210px;
  padding: 5px 10px;
  z-index: 100;
  text-align: center;
  color: #00;
  margin-top: 8px;
}
<div class="container-btn-tooltip">
  <button class="open">Open Tooltip</button>
  <div class="tooltip">
    <div class="tooltip-content">
      <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit,</p>
    </div>
  </div>

在移动设备上,悬停实际上是在元素上点击。

我想在用户第二次点击按钮时隐藏该元素( 仅在移动设备上)

目前一切顺利,该元素可以隐藏,如果用户点击外部。

下面的事情真的要发生

  1. 如果是第一次点击,该元素将获得 display: block显示

  2. 如果是第二次点击,该元素将得到 display: none 并且 hidden

  3. 如果您单击任何其他区域,该元素将保持隐藏状态

最佳答案

使用 javascript 和 jquery 的可能解决方案:

$(document).on('click', 'button.open', function() {
    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
        $(this).removeClass('open').addClass('close').html('Close Tooltip');
        $('.tooltip-content').show();
    };
});
$(document).on('click', 'button.close', function() {
    if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) {
        $(this).removeClass('close').addClass('open').html('Open Tooltip');
        $('.tooltip-content').hide();
    };
});

关于javascript - 如何在用户第二次点击时隐藏移动设备上的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57182437/

相关文章:

html - 在 Wordpress 网站上嵌入 SWF - 停止继承 CSS

javascript - 内联 Javascript 有效,但在外部时无效

javascript - 选择框全屏 jquery bootstrap

javascript - 如何从 Bootstrap 模式捕获事件

html - 如何以全尺寸设置超大屏幕的背景图像并使其响应?

html - 显示问题 CSS

javascript - 如何偏移 d3 缩放的初始起始位置?

javascript - Express 不使用 Fetch API 通过 POST 从 React 接收参数

javascript - 如何使用javascript获取id标签名称

css - 如何使用 bootstrap 将浏览器窗口分成两个画面?