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()事件