如何防止我的触摸设备执行::悬停而不是单击功能
How do I prevent my a touch device from executing an ::hover instead of a click function?
好吧,这可能是一个常见的问题,但我现在还没有找到解决方案。
我的网站上有一个互动程序,实际上是一个div容器,如果我从触摸设备中点击它,我想在其中添加一个"触摸"类。
一切都很好,除了第一次点击时,它不执行我的点击功能,而是::悬停。第一次敲击后,一切如预期。
这是一些代码
function init() {
$tile.on('click', toggleTouchClass );
}
function toggleTouchClass(){
if( $('html').hasClass('isTouch') ){
$tile.toggleClass('touched');
} else{
return
}
}
init是在文档准备好的时候调用的。
提前谢谢。
您应该订阅触摸设备上的touchstart
事件:
var isTouchDevice = ... // You can check ontouchstart in window object or use Modernizr.touch to set this
$tile.on(isTouchDevice ? 'touchstart' : 'click', function() {
...
});
相关文章:
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 悬停功能触发器
- 使用Jquery创建一个具有单击和悬停功能的菜单
- 美国地图插件,具有状态数据/悬停功能的新按钮
- JS“切换”或“悬停”功能
- 如何在保持鼠标悬停功能的同时居中跨过图像
- Jquery悬停功能显示和隐藏元素
- 在悬停功能中设置超时
- 不支持悬停功能
- 鼠标悬停功能获胜'不起作用
- 关于单击或悬停功能
- 使用 JavaScript 显示和隐藏导航栏进行滚动和悬停功能
- Jquery滑动悬停功能显示.stop错误(但仍然有效)
- jQuery菜单幻灯片悬停功能加载太快
- 悬停功能在插件中无限循环
- 悬停/鼠标悬停功能冲突
- Javascript悬停功能
- 出现Javascript悬停功能
- 防止在其子元素上移动时悬停功能
- 需要Javascript单击和悬停功能