厳密にモバイルな解決策についてはわかりませんが、ポップアップが表示されているかどうかを確認できます。表示されている場合はreturn false、リンクのクリックハンドラーで確認できます。
$('a').filter(
function(){
return !$(this).closest(popupSelector).length;
}).on('click', function(e){
if ($(popupSelector).is(':visible')) {
return false;
}
else {
// do whatever you'd normally do with the links
}
});
または、代わりに変数を使用して、たとえばpopupIsShown、false最初に(DOMReadyで)設定してからtrue、ポップアップが表示されたときに設定しfalse、再非表示にしたときにリセットして、ifチェックのコストを少し下げることもできます。
$('a').filter(
function(){
return !$(this).closest(popupSelector).length;
}).on('click', function(e){
if (popupIsShown) {
return false;
}
else {
// do whatever you'd normally do with the links
}
});