so deaktivieren oder aktivieren Sie alle onClick für Bilder auf einer Seite
Wenn der Benutzer klickt auf ein Bild, ich will die onClicks auf alle anderen Bilder werden deaktiviert, bis die Funktion beendet ist.
Momentan habe ich diesen code, der deaktiviert Sie:
var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
eles[i].onclick = false;
aber ich bin mir nicht sicher, wie Sie Sie wieder aktivieren. Ich habe versucht:
var eles = document.getElementsByTagName('img');
for (var i=0; i < eles.length; i++)
eles[i].onclick = true;
Aber es funktioniert nicht. jemand ne Lösung für dieses problem
- Dieses problem, das Sie haben, zeigt die Tatsache, dass Sie binden, klicken Sie auf Handler falsch. Wenn Sie sind in der Steuerung und kann es ändern, bitte entfernen Sie alle
onclick
Attribute und in JS verwenden, die dieaddEventListener
- Methode oder die Verwendung eines Frameworks wie jQuery für eine breitere browser-Unterstützung. Dann können Sie bibnd die Ereignisse, wenn Sie bereit sind,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihre Lösung funktioniert nicht, da Sie entfernt Ihre mit onClick onClick = false. Nach, dass Sie brauchen, um das onClick-event-handler wieder.
Dies ist wahrscheinlich die Möglichkeit, das hinzufügen von onclick-events, ich habe es geändert, damit sollte es funktionieren.
Versuchen, das hinzufügen einer Funktion, um Ihr onclick-wie oben.
Ihr onclick-Funktion:
Dies ist, wie Sie deaktivieren Sie Ihre onclicks (Ihre Methode)
Dies ist, wie Sie Sie wieder aktivieren (re-attach-Funktion auf onClick )
Dies ist eine Jquery-Lösung jquery:
Versuchen Sie es mit unobstructive javascript, nicht durch das hinzufügen onclick-event-Handler in der DOM.
Wenn Ihre Funktion beendet ist, setzen Sie einfach
function_is_finished
zutrue
One-Lösung ist zum speichern der Vorherige Wert von onclick und wiederherstellen:
onclick er suppposed zu sein, verweist auf eine javascript-Funktion.
statt onclick versuchen mit.
und am Ende der Methode zurück zu eles[i].disabled="false"
durch Einstellung
eles[i].onclick = false;
Sie die Neuzuweisung deronclick
event zufalse
. Einstellung true zurück, nicht, weisen Sie es zurück zu der ursprünglichen Funktion. Es ist wahrscheinlich besser zu handhaben, die un-Zuweisung im Ereignis-Funktion statt.Du bist im Grunde die Einstellung der Elemente'
onclick
zufalse
undtrue
.es ist das äquivalent von etwas wie
dann
Was Sie tun sollten, ist die Aufrechterhaltung einige Variablen, die Sie überprüfen, um zu sehen, wenn Sie können, starten Sie die Funktion oder nicht.