我正在使用PhoneGap开发一个应用程序。
我正在监听touchstart / touchend事件以使其响应。
有时,touchend的事件监听器会触发,但之后,例如,随着点击事件在300毫秒后触发,输入框会获得焦点。
例如,我有一个菜单侧边栏。每个侧边栏列表项都会监听touchend事件。接收事件后,侧边栏将关闭并显示相关页面。但是,如果相关页面包含用户为侧边栏列表项单击的表单元素,则该表单元素将获得焦点。
在整个应用程序中停止这种情况的最佳方法是什么?不同手机的情况各不相同。
我尝试过stopPropagation等操作,但这些只在一些情况下起作用,而我需要一个通用的跨应用程序解决方案,而不是为每个函数添加代码(如果可能)。
类似于:
我正在监听touchstart / touchend事件以使其响应。
有时,touchend的事件监听器会触发,但之后,例如,随着点击事件在300毫秒后触发,输入框会获得焦点。
例如,我有一个菜单侧边栏。每个侧边栏列表项都会监听touchend事件。接收事件后,侧边栏将关闭并显示相关页面。但是,如果相关页面包含用户为侧边栏列表项单击的表单元素,则该表单元素将获得焦点。
在整个应用程序中停止这种情况的最佳方法是什么?不同手机的情况各不相同。
我尝试过stopPropagation等操作,但这些只在一些情况下起作用,而我需要一个通用的跨应用程序解决方案,而不是为每个函数添加代码(如果可能)。
类似于:
$('body').on('touchend', function(){
//stop any further touchends/ clicks from firing
//apart from the 1 i do want
})
event.preventDefault()
吗? - Manishearth