我已使用JavaScript& amp ;;在我的移动网络应用程序(PhoneGap)中实现了Swipe for Action Android模式。 CSS动画/过渡。
然而,有一件事仍然在逃避我。
我希望,一旦完全显示操作菜单并且用户单击操作菜单外部的任何位置(图中标记为3),菜单应缩回并显示原始项目(图中标记为1)。 / p>
在桌面应用程序中,可以“捕获焦点”并在lostfocus
中执行转换回(1)。
什么是lostfocus
事件的JS等价物。我看到onfocus
和onblur
事件,但从我读到的事件来看,它真的意味着需要关注的事情;喜欢输入,textarea等。
除了在页面中的每个其他元素的touchend
中添加一些代码并强制显式撤消开放操作之外,我还能如何捕获我感兴趣的事件?
答案 0 :(得分:0)
我认为你自己给出了答案。 focus
和blur
是要用于此的事件,它们不专门用于输入元素,如您在此处所见[1]。
我甚至在图层用例中手动触发focus
事件:图层打开,我想捕获ESC
的按键以关闭图层。为此,我需要将焦点设置在图层上,否则我的事件处理程序不会触发。
要捕获外部的点击,您只需要在跨越整个屏幕的元素上注册pointerUp
或click
个事件(它必须覆盖整个屏幕,如body
元素)。由于事件冒泡,只要没有其他任何捕获并取消它,处理程序就会触发。
[1] https://dvcs.w3.org/hg/dom3events/raw-file/tip/html/DOM3-Events.html#event-type-blur