iPad Javascript / jQuery touchstart问题

时间:2011-08-10 11:52:07

标签: javascript jquery iphone ios ipad

我在iPad上有一个页面,我正面临一些实现鼠标操作行为的问题。

所以我有:

  1. 在我的页面上,点击(或触摸)有一个复选框,我想显示errorMsg
  2. 点击/触摸errorMsg以外的任何内容,我想隐藏errorMsg
  3. 以下是我写的代码;

    $(document).bind("touchstart",function(e){
             if(e.target.id != "checkbox_err")
            $("span#checkbox_err").fadeOut("slow");
         });
    }
    
    
    $("input:checkbox").bind("touchstart",function(){
    $("span#checkbox_err").fadeIn("fast");
    
    });
    

    现在的问题是当我点击/触摸复选框时,errorMsg显示一段时间,然后它也会立即隐藏它(因为目标不是errorMsg)

    如何解决此问题?

4 个答案:

答案 0 :(得分:1)

据我所知,没有必要实现触摸事件来实现你想要的。您可以使用常见的点击事件。它将由设备的浏览器模拟。

答案 1 :(得分:1)

听起来像幽灵点击,请在这里阅读http://code.google.com/mobile/articles/fast_buttons.html

答案 2 :(得分:1)

试试这个js小提琴代码。它适用于所有主流浏览器和所有触摸设备..

http://jsfiddle.net/vecny/

答案 3 :(得分:0)

只需使用更改事件而不是touchstart。 它应该在桌面浏览器和触摸浏览器中工作。