blockly > IFocusableNode > canBeFocused

Metoda IFocusableNode.canBeFocused()

Wskazuje, czy ten węzeł umożliwia skupienie. Jeśli zwróci wartość false, żadna z innych metod IFocusableNode nie zostanie wywołana.

Należy zachować szczególną ostrożność, jeśli implementacje tej funkcji dynamicznie zmieniają wartość zwracaną w czasie trwania węzła, ponieważ niektóre warunki środowiskowe mogą wpływać na możliwość skupienia elementu DOM tego węzła (np. czy element ma dodatni czy zerowy tabindex). Zmiana wartości z true na false, gdy węzeł ma fokus, nie spowoduje natychmiastowej zmiany bieżącego fokusu węzła ani stanu wewnętrznego FocusManagera, co może spowodować wywołanie niektórych funkcji węzła po wyłączeniu fokusu (ponieważ w momencie włączenia fokusu był on uważany za możliwy do wybrania).

W implementacjach zazwyczaj zawsze zwracana jest wartość true, chyba że istnieją okoliczności, w których ten węzeł powinien zostać pominięty ze względu na kwestie związane z fokusem. Może to być na przykład interfejs wyłączony, tylko do odczytu, pełniący funkcję czysto wizualnej dekoracji lub węzeł bez wizualnej reprezentacji, który musi implementować ten interfejs (np. ze względu na rozszerzenie go przez interfejs nadrzędny). Pamiętaj o sprawdzonym sposobie ułatwień dostępu, gdy decydujesz, czy węzeł powinien być możliwy do wybrania, ponieważ nawet wyłączone i dostępne tylko do odczytu elementy często są nadal przydatne do zapewnienia użytkownikom kontekstu organizacyjnego (zwłaszcza w przypadku czytników ekranu).

Podpis:

canBeFocused(): boolean;

Zwroty:

wartość logiczna

Określa, czy ten węzeł może być zaznaczony przez FocusManager.