2009-12-12 68 views
7

我做了疊加分度:如何使底層div不可點擊?

position: absolute; top: 0; left: 0; widht: 100%; height: 100%; 

基本上我想這個覆蓋div來支付我的整個頁面。它做我需要的,但我也需要底層divs是不可點擊的。它們確實無法點擊,但只能在FF,Safari和Chrome中使用。在IE和Opera中,你仍然可以點擊下面的按鈕。

有沒有人有任何想法,我怎麼能實現這種「不可觸摸的基本行爲」?

回答

1

添加覆蓋div的onclick處理函數。

1

您還需要使用z-index來確保您的新div位於其他所有位置之上。如果沒有這個屬性你在瀏覽器的擺佈無論在哪個人會在頂部和接收的onclick

也知道一個已知的IE瀏覽器(舊版本)錯誤,輸入類型選擇忽略的z-index

1

如果你使用像jQuery的,你可以這樣做

$("a:not(.overlay)").click(function(e) { e.preventDefault(); }); 
$("input:not(.overlay)").click(function(e) { e.attr("disabled", "disabled"); }); 

你給你的覆蓋(鏈接,按鈕等),覆蓋課堂上的一切,這將有效地對其他一切禁用你的頁面。

0

裏邊反覆蓋CSS有:

z-index: 10000; 

會照顧它。

0

這可以很容易地使用JavaScript來實現:

  • 創建一個div高的z-index
  • 掩蓋整個網頁製作的面具捕獲所有點擊
  • 當取下面膜,頁可以再次點擊。

這種方法當然可以用於所有dom元素,而不僅僅是身體。

var mask = $('<div></div>') 
    .css({ 
    position: 'absolute', 
    width: '100%', 
    height: '100%', 
    top: 0, 
    left: 0, 
    'z-index': 10000 
    }) 
    .appendTo(document.body) 
    .click(function(event){ 
    event.preventDefault(); 
    return false; 
    }) 

工作樣本這裏:http://jsfiddle.net/GTPW3/3/

13
.class {pointer-events: none;} 
+1

這並不在 JDB 2015-05-19 17:55:15