iPad上的jQuery mouseout

我有一个jQuery代码,在桌面浏览器上运行良好;

$("span#checkbox_err").mouseout(function () { $("span#checkbox_err").fadeOut("slow"); }); 

但同样不会在iPad上触发(因此checkbox_err显示在屏幕上,但从不隐藏)

如何在iPad上触发mouseout事件?

另外,我想避免使用任何额外的库来解决这个小问题。

我有一个关注的问题

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

所以问题很容易理解; 1.在我的页面上,点击(或者说触摸)有一个复选框,我想显示一个errorMsg 2.点击/触摸除errorMsg以外的任何内容,我想隐藏errorMsg

以下是我写的代码;

 $(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)

我该如何解决这个问题?

你可以试试.blur()而不是.mouseout()

也许是因为冒泡? 这对我来说很有意义,事件将到达不是目标的底层。 所以你必须停止eventPropagation:

 $("input:checkbox").bind("touchstart",function(){ $("span#checkbox_err").fadeIn("fast"); event.stopPropagation. }); 

希望它有助于你。 您是否碰巧找到了鼠标输出的替代方案? – 这把我带到了这里。

这个例子肯定会帮到你! http://jsfiddle.net/PzTcS/12/ ,它适用于iPad。

您可以尝试使用ipad中的GestureEnd()事件