Σε javascript, πώς να εξαλειφθεί κάθε εστίαση στο έγγραφο;

ψήφοι
2

Θέλω να πω, είναι ένας τρόπος για να αναγκάσει μια θαμπάδα εκεί; οπότε αν κάθε στοιχείο (κουμπί, inputext, κλπ) εστιάζεται θα blured, ότι αυτό έχει νόημα :)

σαν document.blur (), σας ευχαριστώ, έχω ανάγκη αυτό γιατί το χρήστη κάθε φορά που πατάτε F5 θα πρέπει να εξαλειφθεί κάθε εστίαση πριν ανανεώνει

Δημοσιεύθηκε 09/10/2019 στις 18:51
πηγή χρήστη
Σε άλλες γλώσσες...                            


2 απαντήσεις

ψήφοι
3

Μπορείτε να χρησιμοποιήσετε document.activeElement.blur()αλλά από την εμπειρία μου, μερικές στοιχείο είναι πάντα θα είναι εστιασμένο, ακόμη και μετά το κάνεις αυτό. Για παράδειγμα, στο Chrome, τα ακόλουθα καταλήγει bodyμε έμφαση, ακόμη και μετά την αφαίρεση εστίαση από την (ας πούμε) το input:

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

Αλλά δεν καταργήσετε την εστίαση από το input, ίσως αυτό είναι αρκετά καλό για την περίπτωση χρήσης σας.


Από τα σχόλιά σας εξηγώντας περαιτέρω την κατάσταση, θα έχουν την τάση να σκέφτονται που θα θέλατε:

if (document.activeElement && document.activeElement !== document.body) {
    document.activeElement.blur();
}
Απαντήθηκε 09/10/2019 στις 18:56
πηγή χρήστη

ψήφοι
1

https://developer.mozilla.org/en-US/docs/Web/API/Window/blur window.blur() πρέπει να κάνει το κόλπο.

Απαντήθηκε 09/10/2019 στις 19:03
πηγή χρήστη

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