2016-05-29 21 views
2

Ich habe folgende Funktion für Artikel in Wrapper.Aufruf onclick event, reenable function | PURE JS nur

//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); 

Dann überlagern ich das ganze Element mit einem anderen Element (ABCD zum Beispiel) so überlagert es ganze Inhalt Artikel, aber ich möchte für Elemente unterhalb dieses Overlay Onclick-Ereignis deaktivieren. Element abcd (Überlagerung) hat absoluten und höheren Z-Index, aber es ist immer noch möglich, onclick-Ereignisse für divs darunter zu ändern (Höhe ändern);

divs[i].onclick=null; 

Wie rufe ich die oben genannte Funktion auf, um die Schleife zu machen?

Antwort

2

Sie können stattdessen Zeigerereignisse verwenden.

Versuch zu deaktivieren:

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

wieder zu aktivieren:

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

Danke, aber ich kann auch innerhalb der Overlay-Links klicken. – t4dohx