2012-04-05 47 views
2

我有一個關於頁面的全屏覆蓋頁面,該頁面在調用時位於站點內容上。 我想讓用戶能夠點擊任何地方關閉覆蓋。但是,這與約文中的超鏈接相沖突。因此,如果我點擊疊加層中的超鏈接,它會關閉疊加層,然後轉到超鏈接。 如何從超鏈接中分離出超鏈接?全屏覆蓋點擊任意位置以關閉覆蓋內的文本鏈接衝突

這裏是一個jsfiddle來演示這個問題。 http://jsfiddle.net/USzAb/

回答

1

只需添加這阻止點擊事件傳播上的所有超鏈接裏面#ablock

$("#ablock a").click(function(event) { event.stopPropagation(); }); 
0

你應該添加一些代碼,如...

$('#ablock').click(function(event) { 
    event.stopPropagation(); 
}); 

jsFiddle

您遇到的問題是click事件冒泡通過祖先元素,直到它觸發#ablockclick事件。

0

發生此問題的原因是超鏈接上的單擊會起泡至疊加層。你需要的東西,以制止這種氣泡狀

$('a', '#ablock').click(function(e){e.stopPropagation()}) 

這將仍然允許鏈接點擊的功能,並停止該事件被你處理覆蓋單擊處理程序。

我已經將它添加到的jsfiddle

+0

您的演示測試,這看起來一樣我的回答 – 2012-04-05 11:18:14

+0

我寫它,而你在你的張貼:-) – 2012-04-11 14:07:20