我在移动设备上遇到以下div,link和jQuery的问题:
<div id="div1" style="width:300px;height:100px;">
<a href="#" id="link1">Link</a>
</div>
<script type="text/javascript">
$('#link1').click(function() {
alert('Clicked link');
});
$('#div1').mouseenter(function(){
alert('Entered div');
});
</script>
如果您将鼠标悬停在div1上,则会通过PC警告“已输入的div”。单击link1时,它会提示“Clicked link”。完美。
但是,从移动设备悬停不起作用。哪个没关系,但是当用户点击link1时,它会首先警告“已输入的div”。如果他们再次点击,则会提示“点击链接”。
如果用户第一次从移动设备点击link1而不牺牲其在桌面上的工作方式,如何让它提醒“点击链接”?
答案 0 :(得分:1)
欢迎使用移动设备:)
如果您在启用触摸的设备上运行,并且未绑定您的mouseenter事件,或者直接绑定到触摸事件并阻止它们转换为点击和鼠标,则需要进行功能检测。
答案 1 :(得分:0)
你可以尝试如下,
如果你说返回false,它可以阻止传播,但我不是100%确定移动设备..只是试一试
$('#link1').click(function() {
alert('Clicked link');
return false;
});
答案 2 :(得分:0)
我遇到了同样的问题。我刚刚实现了以下内容......
var is_ios = navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad)/);
if(!is_ios){
// bind my hover behaviours here
}
如果您想为iphone / ipad / ipod专门做一些事情,请添加else
。在我的情况下,我不需要。