2017-09-11 3 views
1

md-checkboxがキーボードを使用してフォーカスされている場合、その周囲にアウトラインがあります。 しかし、プログラムでフォーカスが設定されている場合、視覚的なインジケータはありません。同じように見せる方法はありますか? enter image description hereすべてのフォーカスソースに対して同じmd-checkboxフォーカスアウトラインを設定する方法

+0

あなたのやり方を示すことができますか?この方法で動作します:https://plnkr.co/edit/W2UWkVuR2bjwRr196LcA?p=preview – Vega

+0

実際に私はそれを直接使用していません。説明しようとします。ほぼすべてのブラウザで、チェックボックス間のタブ移動がうまくいきます。 Firefoxでは時々チェックボックスにフォーカスが当てられていますが、視覚効果はありません。私はDOMをチェックし、このバグが発生すると、チェックボックス入力がcdk-keyboard-focusedではなくcdk-program-focusedに割り当てられていることを発見したので、フォーカスがプログラム的にトリガされたときのデフォルト動作だと思った。あなたの例の後、私は間違っていたことが分かります。 Firefoxでこのような不具合が発生する原因は何ですか?非常に大きなプロジェクトの一部であるため、コードを提供することはできません。 –

+0

これに関するアップデートはありますか?私が提供した答えを試しましたか? – Faisal

答えて

0

リップルはクリック/フォーカスイベントです。チェックボックスをプログラムで設定した後に波及効果を得たい場合は、コードから要素をフォーカスする必要があります。そのためには、コントロールの参照を追加する必要もあります。

テンプレートで、参照変数をチェックボックスに追加します。 customCheckbox

<md-checkbox [(ngModel)]="checked" #customCheckbox>Check me!</md-checkbox> 

...そして、あなたのコードでは、このコントロールのfocus()メソッドを呼び出す必要があります。working demo

// Import MdCheckbox in your ts file 
import { MdCheckbox } from '@angular/material'; 

// Declare customCheckbox in your class 
@ViewChild('customCheckbox') private customCheckbox: MdCheckbox; 

// Use this line to focus the checkbox programmatically where you want. 
this.customCheckbox.focus(); 

リンク。

関連する問題