質問

行編集グリッドからのレコードの追加と削除を制御するgridpanelの下部ツールバーにいくつかのボタンがあります。

ハンドラーは非常にシンプルです:「新規」ボタンは、モデルのインスタンスを作成し、グリッドに追加してから、新しい行の行エディタを開きます;"編集"ボタンは、選択した行の行エディタを開くだけです;"remove"は、ストアからレコードを破棄し、グリッドビューを更新します。

何らかの理由で、これらのボタンは、フォーカスがあるときに境界線を与えるフォーカスクラスを失うことはありません。ここに写真があります:

enter image description here

写真では、「新規」ボタンと「削除」ボタンの両方にフォーカスクラスがあり、「編集」ボタンを押すと、完全な行編集操作を実行して行エディタを閉じた後もフォーカ

これらの永続的に「フォーカスされた」ボタンの1つにマウスダウンしてからマウスアップしてから、他の何かをクリックすると、フォーカスクラスが消

私はそれぞれのコントローラのすべてのボタンコンポーネントのぼかしハンドラを置くことができることを知っていますが、私はこの機能が組み込まれていると思っていたので、私はドキュメントのどこかに逃したものがあるかどうかを確認するように求めています。

それが手放さないクラスは次のとおりです:

x-focus x-btn-focus x-btn-default-toolbar-small-focus

これは、Windows7のFF10のExtJS4.1.0で使用されています。しかし、私はExtJS4.02と4.07で同様の動作に気付きましたが、今までそれを処理する必要はありませんでした。

役に立ちましたか?

解決

私はそれが何であるかを知りました:

これらの各ボタンのハンドラーチェーンのある時点で、ボタンは無効になります。ExtJSでボタンが無効になっていると、ボタンが無効になります。 blur 発射からのイベント。

ボタンを無効にする必要があったので、解決策は単に追加する必要がありました button.blur() ハンドラーでは、それについて行くための正しい方法でした。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top