我在网站上的很多不同位置都有很多悬停事件。具体来说,它们都是mouseenter
和mouseleave
个功能。现在,当在移动设备上查看时,点击事件或{ {1}}事件(我认为它们被调用)触发touch
,而不是mouseenter
,我如何触发函数的其他部分?这是问题的一部分。
这是典型函数的样子:
mouseleave
另一部分是,在有function hover() {
$('#my_div).mouseenter(fucntion(){
$('my_selector#1',$this).show();
}).mouseleave(function(){
$('my_selector#1',$this).hide();
});
}
hover();
个事件的某些地方,还有mouse-enter-leave
个事件。 (示例:click
显示一个按钮[上面的示例],然后您可以单击该按钮)。
在移动设备上查看时,mouseenter
事件同时会同时触发touch
和mouseenter
。如何解决此问题,以便click
touch
点击mouseenter
那么anothor touch
会触发click
?
点击示例:
function click() {
$('#my_div my_selector#1').click(function(){
//something happens
});
click();
答案 0 :(得分:2)
我说,对于第一种情况,没有"伟大"解。 如果悬停内容阻止其他重要内容,则应更改移动设计以使悬停工作更好。
对于第二种情况,您可以使用元素可见性来切换,点击应该做什么。
例如:
function hover() {
if($('element').is(':visiblie')){
click();
}else{
$('element').show();
}
}
function click(){
doStuff();
}