搜索

首页  >  问答  >  正文

HeadlessUI 弹出窗口在移动设备上不可点击

在使用移动设备或在 Chrome 设备工具栏中查看页面时,我在尝试点击 HeadlessUI 弹出菜单时遇到问题。它似乎在常规桌面浏览器模式下工作正常。我花了几个小时在代码沙箱中测试并将代码提炼成最简单的形式,可以在此处查看和演示:

https://codesandbox.io/s/react-tailwind-rive-animation-tap-issue-bxlt95?file=/src/App.js

这是代码的相关部分:

<Popover className="z-5 relative">
  {({ open }) => (
    <>
      <div className="relative z-10">
        <Popover.Button
          aria-label="Main menu"
          className="text-stone-500 focus:outline-none"
        >
          <div className="w-12 h-12">
            <Bars3Icon />
          </div>
        </Popover.Button>
      </div>

      <Transition
        as={Fragment}
        enter="transition ease-out duration-200"
        enterFrom="opacity-0 -translate-y-1"
        enterTo="opacity-100 translate-y-0"
        leave="transition ease-in duration-150"
        leaveFrom="opacity-100 translate-y-0"
        leaveTo="opacity-0 -translate-y-1"
      >
        <Popover.Panel className="absolute right-0 z-10 mt-2 w-[250px] transform drop-shadow-2xl md:w-[600px] bg-white">
          Popup Menu
        </Popover.Panel>
      </Transition>
    </>
  )}
</Popover>

我试图找出是什么导致菜单在点击时无法像浏览器中通常那样弹出。预先感谢您的帮助。

P粉848442185P粉848442185447 天前510

全部回复(1)我来回复

  • P粉459440991

    P粉4594409912023-09-07 10:50:40

    之前有人在另一个论坛回答了我的问题。问题是我的 div 捕获了点击,但没有将其传递给动画。通过将 style={{ pointerEvents: "none" }} 添加到菜单图标周围的 div,它再次开始工作。

    回复
    0
  • 取消回复