使用jQuery可以触发链接元素上的mouseout事件吗?
也就是说,类似以下代码:
$(linkEle).mouseout()
我希望这个功能能在iPad上正常工作,尽管iPad没有鼠标光标,但实际上它确实有事件...
使用jQuery可以触发链接元素上的mouseout事件吗?
也就是说,类似以下代码:
$(linkEle).mouseout()
我希望这个功能能在iPad上正常工作,尽管iPad没有鼠标光标,但实际上它确实有事件...
是的,jQuery有一个mouseout事件处理程序 - http://api.jquery.com/mouseout/
$('some_selector_here').mouseout(function() {
// Do some stuff
}
$('some_selector_here').trigger('mouseout');
在iPad上,鼠标悬停/移出事件无法按照要求工作。请查看专门针对触摸设备的touchstart/touchmove和touchend事件。
类似这样的 http://jsfiddle.net/hTYKQ/ 在iPad上可以工作,但是需要按照以下方式:
第一次点击元素会触发 mouseenter
函数。
第二次点击会触发其他操作,如果有的话,比如一个链接 (http://jsfiddle.net/qxM33/1/ 我搞砸了 <a>
的 href
但你明白我的意思)。
在元素外部点击会触发 mouseleave
函数。
这个故事告诉我们:在 iPad 上,jQuery 的鼠标悬停和鼠标移出函数的工作方式与单击函数非常相似。
你可能可以使用:
.trigger('mouseleave');
以以下形式:
$('#elementToTriggerMouseLeaveOn').trigger('mouseleave');
参考资料:
$(linkEle).mouseout();
或者
$(linkEle).trigger('mouseout');
或者
$(linkEle).trigger($.Event('mouseout'));
尝试使用tap事件
tap - 在点击pnscreen元素后触发。
$('.link').live('tap',function(event) {
//TODO
});
在触摸屏上不存在鼠标悬停状态
$(linkEle).mouseout()
不起作用? - tskuzzy