【问题标题】:click event is not working in ipad点击事件在 ipad 中不起作用
【发布时间】:2013-02-25 15:30:39
【问题描述】:

这是我的代码:

     var tmp = plugin.main_video_src.split("_")[1]

     if(tmp == 2)
     {
        $('.flex-direction-nav .flex-next').click();
     }

这在 PC 浏览器中完美运行,但在 iPad 中无法运行。有什么解决办法吗?

提前谢谢。

【问题讨论】:

    标签: ipad click


    【解决方案1】:

    这可能是因为您试图对不可点击的 html 元素上的事件做出反应。 This tutorial will explain how

    使元素可点击

    由于 iOS 上的 Safari 创建事件以模拟鼠标的方式,您的某些元素在 iOS 上的行为可能与预期不同。特别是,一些只使用 mousemove 处理程序的菜单(如清单 6-1)需要更改,因为 iOS 不将它们识别为可点击元素。

    清单 6-1 使用鼠标悬停处理程序的菜单

    <span onmouseover = "..."
      onmouseout  = "..."
     
    WHERE TO BUY
     
    </span>
    

    要解决此问题,请添加一个虚拟的 onclick 处理程序 onclick = "void(0)",以便 iOS 上的 Safari 将 span 元素识别为可点击元素,如清单 6-2 所示。

    清单 6-2 添加一个 onclick 处理程序

    <span onmouseover = "..."
      onmouseout  = "..."
      onclick = "void(0)">
     
    WHERE TO BUY
     
    </span>
    

    【讨论】:

      【解决方案2】:

      我使用了“touchstart”事件而不是“click”事件。它非常适合我。 这是示例代码:

      $("<selector>").bind("touchstart", function() {
      
      // YOUR CODE ...
      });
      

      【讨论】:

        【解决方案3】:

        iPad 上不存在 OnClick 事件。你需要触摸事件

        $('.flex-direction-nav .flex-next').trigger('touchstart');
        
        document.addEventListener('touchstart', function(e) {
            //Bind your event here
        }, false);
        

        你有以下事件

        1. 触摸开始
        2. 触摸移动
        3. 触摸结束
        4. 触摸取消

        How to recognize touch events using jQuery in Safari for iPad? Is it possible?

        【讨论】:

          【解决方案4】:

          我也有同样的问题。这对我有用。

          $('.flex-direction-nav .flex-next').off('click').on('click');
          

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2016-05-13
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多