Ich benutze ein paar Dropdown-Boxen mit den folgenden Skripten, alles funktioniert außer zum Klicken außerhalb des Fensters, die nur auf der letzten Taste funktioniert, ich weiß, es gibt einen Weg zu seperate die window.onclick Funktionen, aber ich bin mir nicht sicher, wie, habe ein paar Dinge ausprobiert, kann aber nicht viele Informationen dazu finden.Javascript zwei window.onlick Funktionen kollidieren
Jede Hilfe wäre sehr willkommen!
<script>
/* When the user clicks on the button,
toggle between hiding and showing the dropdown content */
function myFunction20() {
document.getElementById("myDropdown20").classList.toggle("show");
}
// Close the dropdown if the user clicks outside of it
window.onclick = function(event20) {
if (!event.target.matches('.dropbtn20')) {
var dropdowns20 = document.getElementsByClassName("dropdown-content20");
var i;
for (i = 0; i < dropdowns20.length; i++) {
var openDropdown20 = dropdowns20[i];
if (openDropdown20.classList.contains('show')) {
openDropdown20.classList.remove('show');
}
}
}
}
</script>
<script>
/* When the user clicks on the button,
toggle between hiding and showing the dropdown content */
function myFunction21() {
document.getElementById("myDropdown21").classList.toggle("show");
}
// Close the dropdown if the user clicks outside of it
window.onclick = function(event21) {
if (!event.target.matches('.dropbtn21')) {
var dropdowns21 = document.getElementsByClassName("dropdown-content21");
var i;
for (i = 0; i < dropdowns21.length; i++) {
var openDropdown21 = dropdowns21[i];
if (openDropdown21.classList.contains('show')) {
openDropdown21.classList.remove('show');
}
}
}
}
</script>
die auf der rechten Seite schließt, wenn außerhalb der Schaltfläche klicken und Dropdown aber die auf der linken Seite wird nicht .. https://jsfiddle.net/c94gLhqm/
Ist das nicht ein Kandidat für die Unschärfe Ereignis? [MDN Unschärfe (Ereignis)] (https://developer.mozilla.org/en-US/docs/Web/Events/blur) –
Ich habe dort nachgesehen und denke nicht, dass dies für mein Problem relevant ist, bitte sehen Sie dieser JSFiddle, der auf der rechten Seite wird geschlossen, wenn außerhalb der Schaltfläche und des Dropdown-Menüs geklickt wird, aber der Link auf der linken Seite wird nicht angezeigt. https://jsfiddle.net/c94gLhqm/ –
https://jsfiddle.net/rianodwyer/srngnr5f/ Scheint zu funktionieren ok –