【发布时间】:2015-04-24 12:34:31
【问题描述】:
我的问题如下:在我的本地网站上,我的主菜单具有悬停效果(边框底部)。正如我们所知,使用触摸设备的访问者需要双击才能真正点击链接。是否有机会仅在触摸设备上禁用悬停效果?
我已经尝试过以下方法:
$('a').on('click touchend', function(e) {
var el = $(this);
var link = el.attr('href');
window.location = link;});
事实上,效果很好。我不需要双击链接,它工作正常但在我的台式电脑上所有正常的target="_blank" 链接都加载到一个额外的选项卡中(像往常一样),但也在同一个选项卡中。所以外部链接打开两次。有机会避免吗?
希望你明白我的意思。
提前致谢!
【问题讨论】:
-
在 click 和 touchend 之间加一个逗号
-
errrm... 在 jQuery 的 .on() 中分隔多个事件的正确方法是使用空格,而不是逗号。我猜它起作用的唯一原因是首先不需要“click”事件,并且没有为其添加侦听器,因为“click”不是有效的事件类型。只需完全删除点击并离开 on('touchend', ... 就足够了。
标签: jquery ipad hover smartphone