2

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

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

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

ここに画像の説明を入力

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

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

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

手放さないクラスは次のとおりです。

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

これは、Windows 7 の FF10 で ExtJS 4.1.0 を使用した場合です。ただし、ExtJS 4.02 と 4.07 で同様の動作に気付きましたが、これまで処理する必要はありませんでした。

4

1 に答える 1

3

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

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

ボタンを無効にする必要があったためbutton.blur()、ハンドラーを追加するだけのソリューションが正しい方法でした。

于 2012-05-21T18:15:39.043 に答える