我已经查看了很多资料,但似乎没有找到一个常见问题的答案。
我有一个基本的下拉菜单,使用hoverintent插件激活(使用jQuery)。它在桌面浏览器上运行良好,但对于不将悬停事件转换为点击事件的移动设备(如iPad),它无法正常工作。以下是当前的Javascript代码:
$('li.threecolumns, li.twocolumns, li.onecolumn').hoverIntent(
function() {
$(this).children('div').fadeToggle(fadeInSpeed);
},
function() {
$(this).children('div').fadeToggle(fadeOutSpeed);
});
我的问题是:在移动设备上使用点击,而在桌面上使用悬停来展开菜单,最干净、最少问题的方法是什么?我有一些想法,但不确定哪个好:
每次点击时附加
onclick
事件并禁用悬停。检测是否能够悬停(不确定如何完成),如果可用则使用点击处理程序。
focus
和blur
是首先想到的。不过我无法验证这一点。 - Torsten Walter