jQuery触发mouseout事件

8

使用jQuery可以触发链接元素上的mouseout事件吗?

也就是说,类似以下代码:

$(linkEle).mouseout()

我希望这个功能能在iPad上正常工作,尽管iPad没有鼠标光标,但实际上它确实有事件...


为什么 $(linkEle).mouseout() 不起作用? - tskuzzy
2
你能提供一个更好的描述,说明你想要实现什么吗? - Johnny Craig
7个回答

12

是的,jQuery有一个mouseout事件处理程序 - http://api.jquery.com/mouseout/

$('some_selector_here').mouseout(function() { 
  // Do some stuff
}

$('some_selector_here').trigger('mouseout');

0

0

在iPad上,鼠标悬停/移出事件无法按照要求工作。请查看专门针对触摸设备的touchstart/touchmove和touchend事件。


0

类似这样的 http://jsfiddle.net/hTYKQ/ 在iPad上可以工作,但是需要按照以下方式:

  • 第一次点击元素会触发 mouseenter 函数。


  • 第二次点击会触发其他操作,如果有的话,比如一个链接 (http://jsfiddle.net/qxM33/1/ 我搞砸了 <a>href 但你明白我的意思)。


  • 在元素外部点击会触发 mouseleave 函数。

这个故事告诉我们:在 iPad 上,jQuery 的鼠标悬停和鼠标移出函数的工作方式与单击函数非常相似。


0

你可能可以使用:

.trigger('mouseleave');

以以下形式:

$('#elementToTriggerMouseLeaveOn').trigger('mouseleave');

参考资料:


0
$(linkEle).mouseout();

或者

$(linkEle).trigger('mouseout');

或者

$(linkEle).trigger($.Event('mouseout'));

0

尝试使用tap事件

tap - 在点击pnscreen元素后触发。

http://www.roccles.com/?p=134

$('.link').live('tap',function(event) {
//TODO
});

在触摸屏上不存在鼠标悬停状态


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接