In Javascript, wie jeder Fokus in dem Dokument zu beseitigen?

stimmen
2

Ich meine, ist es eine Möglichkeit, eine Unschärfe zu zwingen? so dass, wenn jede Komponente (Taste, inputext usw.) fokussiert ist, wird es blured sein, hoffen, dass dies Sinn macht :)

wie ein document.blur (), danke, ich diese benötigen, weil jedes Mal Benutzer F5 gedrückt ich einen Fokus beseitigen muß, bevor es erfrischt

Veröffentlicht am 09/10/2019 um 18:51
quelle vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
3

Verwenden Sie können document.activeElement.blur()aber nach meiner Erfahrung, einige , nachdem Sie das tun wird Element immer Fokus haben , auch. Zum Beispiel auf Chrome endet die folgenden oben mit bodyFokus haben, auch nach Fokus von (sagen wir) das Entfernen input:

setInterval(() => {
    if (document.activeElement) {
        document.activeElement.blur();
    }
    console.log(document.activeElement && document.activeElement.nodeName);
}, 1000);
<input type="text" id="x">

Aber es ist zu entfernen Fokus von dem input, vielleicht ist das gut genug für Ihren Anwendungsfall.


Von Ihren Kommentaren, die Situation weiter zu erklären, würde ich denken, neigen Sie wollen würden:

if (document.activeElement && document.activeElement !== document.body) {
    document.activeElement.blur();
}
Beantwortet am 09/10/2019 um 18:56
quelle vom benutzer

stimmen
1

https://developer.mozilla.org/en-US/docs/Web/API/Window/blur window.blur() sollte es tun.

Beantwortet am 09/10/2019 um 19:03
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more