厳密にモバイルな解決策についてはわかりませんが、ポップアップが表示されているかどうかを確認できます。表示されている場合は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
}
});