防止iPad的悬停状态
Prevent hover state in iPad
我有一些在iPad上浏览的页面的子链接…现在当我点击这些链接时,我希望相应的链接处于活动状态同时防止任何链接的悬停状态
我试过了
$("#leftNav a").mouseleave();
$("#leftNav a").mouseout();
$("#leftNav a").trigger("mouseout");
$("#leftNav a").trigger("mouseleave");
我也试过
var a=document.getElementsByClassName("searchBySub");
for(var i=0;i<a.length;i++)
{
a[i].ontouchstart=function(e){
console.log("ontouchstart5");
e.preventDefault();
return false;}
}
在你说之前,iPad上没有悬停,我知道....但是它确实应用了:hover样式。
当用户将焦点放在一个元素上时,鼠标悬停样式被应用,鼠标悬停,鼠标移动,鼠标向下,鼠标向上点击事件触发(always;
问题是我如何防止一些链接的悬停状态,仅适用于iPad ?我不能从CSS中删除:hover定义,因为桌面也使用相同的CSS。
你可以使用CSS媒体查询来为iPad设置一个专门的样式表,并覆盖之前的:hover定义:
<link rel="stylesheet" href="#" media="only screen and (device-width: 768px)" />
我认为对于iPad 2,你将需要另一个媒体查询,其宽度是设备宽度的两倍。
注意:不测试
首先创建一个函数来检测用户是否在使用iPad。像这样:
$.isiPad = function(){
return (navigator.platform.indexOf("iPad") != -1);
}
如果使用iPad,删除所有链接上的hoovering类:
$(document).ready(function(){
if($.isiPad())
{
$("a").hover(function(){
$(this).addClass('your_a_class_when_not_hoovering');
});
}
});
如果你只想在一些链接上应用这个,你可以这样做:
$(document).ready(function(){
var apply_to_links = ['link_one_class_or_id','link_two_class_or_id']
if($.isiPad())
{
$.each(apply_to_links,function(){
$(this).hover(function(){
$(this).addClass('your_a_class_when_not_hoovering');
});
})
}
});
就像我说的,它没有经过测试,但我想你明白了。希望能有所帮助!
不要在有问题的情况下使用:hover。使用一个类('.hover')并将该类设置为…悬停
$(document).ready(function(){
$("a").hover(function(){
$(this).addClass('hover');
}, function(){
$(this).removeClass('hover');
});
正如你所注意到的,这在ipad上不起作用,这正是你想要的:-)
相关文章:
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 添加:在悬停其他elem时,将悬停状态添加到不同elem
- JQUERY-在没有悬停后将SRC更改回原来的状态
- 美国地图插件,具有状态数据/悬停功能的新按钮
- CSS / HTML5:拖放后保持悬停状态
- 在单击按钮时激活按钮的悬停状态,直到单击另一个按钮(Javascript/JQuery)
- 需要在悬停时激活动作,并在7秒内返回到原始状态
- Highcharts点击事件返回“;悬停”;state而不是“state”;选择“;状态
- 转换后触发css悬停状态更改
- Lasso selectables禁用CSS:悬停状态
- 悬停状态指针事件:无Javascript回退
- Javascript/JQuery样式-#按钮:点击全屏后悬停保持活动状态
- 悬停样式应该在动态加载多级菜单时保持单击状态
- 悬停并选择图像贴图的状态
- Chrome动画CSS3三维立方体与悬停状态问题
- 如何在按下鼠标时在 Chrome 中保持悬停状态
- Javascript在悬停状态下制作下拉菜单 - 没有HTML中的硬编码
- 菜单悬停状态
- 在益智游戏中,如何使可移动瓷砖的悬停为红色,而其他瓷砖保持原始状态
- 控制CSS状态:悬停,活动