工作,我有以下代码:隐藏DIV的时候点击它之外没有在iPad上
$(document).on('click touch', function(e) {
var nav = $(e.target).closest('.nav-js-trigger');
var hidden = $(e.target).closest('.show-nav')
if (nav.length > 0) {
$('.show-nav').not(nav.next().toggleClass('show-nav')).removeClass('show-nav');
} else if (hidden.length === 0) {
$('.show-nav').removeClass('show-nav');
}
});
,如果用户点击它外面隐藏菜单股利。要测试此:
- 点击菜单链接。
- 点击黄色格外。
div应该隐藏。
问题是,这不适用于iPad。为什么?
这是FIDDLE。
我已添加click touch
并且还尝试过touchend
和touchstart
。
鉴于这一问题的复杂性,我将有资格当这个赏金50分。 –
你有没有试过把监听器放在'document.documentElement','document.body'和/或'window'上?我建议使用'touchend'。另请尝试香草Javascript [如苹果建议](https://developer.apple.com/library/safari/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html):'document.documentElement.addEventListener(“touchend” ,函数(e){...},false);' – Blaise