【发布时间】:2026-01-06 01:50:02
【问题描述】:
我希望在您将鼠标悬停在某物上(和取消悬停)时调用一个函数。但是,我也希望没有悬停功能的 ipad(等)用户可以访问它。所以我希望点击后备成为可能。我该如何做到这一点?请注意,如果悬停有效,我不希望人们能够点击它。这是我目前所拥有的,非常接近:
var collapsed=1, noHover=false;
$('#deeper').hover(function() {deeper();});
$('#deeper').click(function() {if (collapsed || noHover) {
deeper();
noHover=true;
}});
function deeper() {
if (collapsed == 1) {
collapsed = 0;
$(this).children().show();
} else {
collapsed = 1;
$(this).children().hide();
}
}
但是,这会失败 - 如果在页面加载时将鼠标悬停在 #deeper 上并且在移动鼠标之前单击(似乎需要移动鼠标才能触发 .hover),则 noHover 变为 true,从而可以进行单击,以及悬停。
一定有更好的方法吗?谢谢!
【问题讨论】:
-
谢谢你。我实际上通过向 .hover 事件添加更多内容来解决我自己的问题: $('#deeper').hover(function() {noHover=false;vbg = 1;deeperEd();},function() {noHover=false ;vbg = 0;deeperEd();});