【发布时间】:2014-09-26 09:42:43
【问题描述】:
我想使用悬停、点击和触摸事件来显示和隐藏一个元素。这背后的想法是,您将能够将相同的元素用于触摸设备、使用鼠标的设备和组合设备,例如具有触摸功能的笔记本电脑。所以我需要结合鼠标和触摸输入。 问题是事件相互影响,当我使用触摸时会触发多个事件,导致元素一次又一次地显示和隐藏。
我怎样才能得到我想要的行为;
- 点击和触摸切换
- 在 mouseenter 上显示
- 鼠标移出时隐藏
我尝试了多种实现,例如以下,但似乎没有一个是稳定的。
$("#showMe").hide();
$(document).on('touchstart click mouseenter mouseout', '#thingToTrigger', function (event) {
event.stopPropagation();
if (event.handled !== true) {
$("#showMe").toggle(1000);
event.handled = true;
} else {
return false;
}
});
这里是 JSFiddle http://jsfiddle.net/9305f9d7/
【问题讨论】:
标签: javascript jquery hover touch mouseevent