苹果浏览器未触发Safari点击事件

时间:2019-04-21 07:44:13

标签: javascript ios reactjs safari mouseevent

从iPhone上的Safari浏览器打开时,点击事件在移动设备上不起作用

在react class组件中,当打开菜单时,我会触发窗口上的click事件监听器。 除了在iPhone Safari上以外,其他任何地方都可以正常工作

toggleMenu = async() => {
  if (this.state.isOpen) {
    this.handleCloseMenu();
  } else {
    await this.setState({
      isOpen: true
    });
    window.addEventListener('click', this.handleClick);
    disableBodyScroll(this.targetElement);
  }
};

handleClick = ({
  path
}: E) => {
  const btnClicked = path.find(node => node === this.hamburgerBtn.current);

  if (!btnClicked) {
    const menuClicked = path.find(node => node === this.targetElement.current);

    if (!menuClicked) {
      this.handleCloseMenu();
    }
  }
};

1 个答案:

答案 0 :(得分:0)

click是鼠标事件。 Iphone上仍然没有鼠标,没有鼠标事件。您必须将触摸板用于以下用途:

with Ada.Text_IO; use Ada.Text_IO;

package body Sub_Group_Handler_2 is

   procedure Put (G: in Group_Stuff_2.Abstract_Group'Class) is
   begin
      Put_Line ("Value of X is" & Integer'Image (G.X));      
   end Put;

end Sub_Group_Handler_2;