2016-05-29 14 views
2

私はラッパーの中のアイテムに以下の機能を持っています。どのようにonclickイベント、reenable関数を呼び出す| PURE JSのみ

//vars 

    for (var i=0; i<divs.length; i++) (function(i) { 
    divs[i].onclick = function showTheA() { 
     if (divs[i].offsetHeight == 130) { 
     divs[i].style.height = '250px'; 
     element1[i].style.display = "flex"; // example 
     element2[i].style.width = "80%"; //example 

     } 
     else { 
     divs[i].style.height = ""; 
     element1[i].style.display = ""; // example 
     element2[i].style.width = ""; //example 
     } 
    }; 
})(i); 

それから私は他の要素(例えばABCD)と全体のアイテムを重ねるので、アイテムの全体の内容をオーバーレイが、私はこのオーバーレイ以下の要素のためのonclickイベントを無効にしたいです。 要素abcd(オーバーレイ)は位置絶対値とそれ以上のz-インデックスを持ちますが、それでもなお下のdivsのonclickイベントを行うことができます(高さの変更)。

divs[i].onclick=null; 

ループを実行するにはどうすればいいですか?

答えて

2

代わりにポインタイベントを使用できます。

試し無効にするには:

divs[i].style.pointerEvents = "none"; 

再度有効にするには:

divs[i].style.pointerEvents = ""; 
+0

おかげで、私はあまりにもオーバーレイ内のリンクをクリックしてくださいカント。 – t4dohx

関連する問題