2012-08-07 61 views
0

所以我創建了!使用css和jquery的簡單彈出窗口。問題是,當彈出窗口被激活時,彈出窗口下面的鏈接仍然可以被點擊。有什麼辦法可以防止這種情況發生。彈出窗口中某些鏈接的點擊框很小,並且可以輕鬆點擊它旁邊的鏈接,這意味着點擊彈出窗口下方的鏈接。阻止css/jquery彈出窗口允許點擊下面的鏈接(僅移動)

我正在使用的網站:taxslayerplayer.com,在android上查看它,你會看到我的意思。此外,我在瀏覽我的手機時遇到過許多其他網站上的此問題。

任何指針,將不勝感激,謝謝!

回答

4

我不知道一個嚴格的移動解決方案,但你可以檢查彈出可見,如果是可見的,只需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 
    } 
}); 
+0

這不會阻止在彈出窗口中工作的鏈接嗎? – Roeland 2012-08-07 19:49:22

+0

是的;如目前所寫。我打算爲選擇器提供一個替代語法,因爲彈出框的子項不會受到影響,但是,這個......我分心了。我會在一會兒補充一點。 *臉紅* – 2012-08-07 19:57:45

+0

非常感謝你的大衛!該作品:) – Roeland 2012-08-07 20:31:24

0

使用布爾值並在彈出窗口中將其設置爲false。有用!

PS:剛剛檢查..大衛已經回答了它。

相關問題