問題タブ [focus]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1950 参照

delphi - モーダルダイアログが閉じられたときにDelphi CMExitメッセージが送信されませんか?

私が取り組んでいるアプリケーションの一部には、CMExit メッセージの受信時に検証を行うフォーム コントロールがあります。これはまさに Delphi のドキュメントに記載されている方法です (このコード サンプルは Delphi のヘルプ ファイルからのものです)。

これの目的は、コントロールがフォーカスを失うとすぐに検証を実行することです。たとえば、[OK] ボタンをクリックすると、フォーム コントロールはフォーカスを失い、このメソッドが実行され、例外が発生すると、フォーカスがそのフォーム コントロールに戻されます。(したがって、[OK] ボタンの「クリック」イベントは通過せず、ダイアログは閉じません)。

私が抱えている問題は、このフォーム コントロールがモーダル ダイアログ ウィンドウ内にあることです。[OK] をクリックすると、実際に CMExit メッセージが送信され、レコードが更新されます (および検証が行われます)。ただし、フォーム コントロール内で Enter キーを押すと、CMExit メッセージを送信せずにモーダル ダイアログが閉じます。フォーム コントロールが「フォーカスを失う」ことがないかのようです。これは、フォームが実際にデータを検証せずにダイアログが閉じるだけでなく、データ セットも更新されないことを意味します。

この問題を考えると、データセットの更新/検証コードを配置するのに最適な場所はどこですか? これをダイアログ フォーム自体に移動して OnCloseQuery ハンドラーに実装することもできますが、これはフォーム コントロールフォーム自体の両方でロジックが重複することを意味します。(フォーム コントロールは他の場所で使用されているため、その動作を変更したくありません)。

(コントロールが実際にフォーカスを失うことはないため、CMExit はトリガーされないと推測します。フォームは閉じられますが、フォーム コントロールは閉じたフォームにまだ「フォーカスを持っています」。)

0 投票する
0 に答える
1142 参照

silverlight - Silverlight 2 DataGrid でセルを編集するときに LostFocus 動作を無効にする

CellEditingTemplateグリッド内にテキスト ボックスとカレンダー コントロールを持つカスタムがあります。F2ユーザーがキーボードを押してセルを編集すると、テキストボックスがフォーカスを受け取るようにしました。残念ながら、Silverlight のデータ グリッドはグリッドのLostFocusイベントに接続されているため、ユーザーが日付ピッカー コントロールをクリックすると、LostFocusイベントが発生し、セルが編集モードを終了します。これが起こらないようにする方法について何かアイデアを持っている人はいますか? (Silverlight だけが に.Handledプロパティを持っていればRoutedEventArgs。)

サンプル XAML:

0 投票する
1 に答える
477 参照

javascript - onBeforeDeactivate イベント ハンドラで focus() が呼び出されると DIV がシフトするのはなぜですか?

IE7/8 の Web ページで有線の問題が発生しました。dir="rtl"に設定されたページ。また、divRowは、含まれている div が折り返されないように非常に大きな幅に作られています。

エディター領域をクリックし、いくつかの単語を入力してから、「Hello world」テキストをクリックします。divRowクラスで div のオフセットと幅が変更されたため、レイアウトが乱雑になります。

これは IE7/8 のバグだと思います。これを回避する方法はありますか?

基本的に、divRowには、含まれている div がラップされないようにする必要があります。

0 投票する
9 に答える
30186 参照

asp.net - ASP.NET: スクロールしてコントロール

ページに特に大きなフォームがあります。フォームが検証され、フィールドが無効な場合、ウィンドウをそのコントロールまでスクロールしたいと考えています。コントロールの Focus() を呼び出しても、これは行われないようです。ウィンドウをコントロールまでスクロールする JavaScript の回避策を見つけましたが、ASP.NET に組み込まれているものはありますか?

0 投票する
5 に答える
262 参照

performance - コーディング プロジェクトやタスクに集中するための最善の方法を見つけるにはどうすればよいですか?

要するに、作成するアイデアを計画したり考えたりしたとき、タスクを継続するために、または (ネガティブな) 気晴らしなしにプログラミングを続けるために何を使用しますか?

本を読んだり、志を同じくする人々と一緒にいるとモチベーションが上がることがわかりました。

生産性を最大化するためにあなたがとった考え方やアプローチを誰か推薦してもらえますか?

0 投票する
3 に答える
5461 参照

internet-explorer - iframe、pdf、および Internet Explorer でのフォーカス

だから - テキストエリアと動的に作成された IFrame を含むページがあり、adobe acrobat プラグインを使用して PDF を表示します。

最初は、テキストエリアがフォーカスされています。

テキストエリアをフォーカスしたいのですが、PDF が読み込まれると IFrame がフォーカスを奪います。

Firefox では、テキストエリアをフォーカスされた要素としてリセットするのは簡単です。

これを行うには、iframe の "load" イベントをリッスンしてから、テキスト ボックスで .focus() を呼び出します。

M$ IE は、動的に作成された Iframe の onload イベントを発生させないため、IFrame の readyState プロパティを使用して、いつ準備ができたかを判断します。

注: readyState=="complete" ケースでは発生しないように見えるため、iframe の readystatechanged イベントをリッスンしません!!

では、このコードが実行されるとどうなるでしょうか? ... まあ、何もありません。Iframe pdf はまだフォーカスされていますが、document.activeElement を使用してどの要素にフォーカスがあるかを確認すると (以前は IE のみでしたが、現在は firefox 3 でサポートされています)、テキストエリアにフォーカスがあることが通知されます!!

なんてこったい??!?

何か案は?

0 投票する
5 に答える
10280 参照

android - Android TabHost が TextView からフォーカスを盗むのはなぜですか?

次のレイアウトを使用するアプリケーションがあります。

代替テキスト http://img15.imageshack.us/img15/238/screenshot003xbo.png

アプリが起動すると、フォーカスは最初の TextView にありますが、その中に文字を入力しようとすると、フォーカスは直接タブに移動します。この問題と戦っているのは私だけではないようで、おそらくこれは次のことに関連しています。

http://groups.google.com/group/android-developers/browse_thread/thread/435791bbd6c550a/8022183887f38f4f?lnk=gst&q=tabs+focus#8022183887f38f4f

とにかく、なぜそれが起こるのか分かりますか?そしてもちろん、回避策をいただければ幸いです。


質問のオーバーロードを避けるために、以下のコードを投稿します。

XML :

そしてJavaコード:

0 投票する
2 に答える
10873 参照

flash - Flash&Flex SDK / AS3-キーボードのフォーカスを維持する方法は?

Flex / AS3でフラッシュアプ​​リケーションを作成していますが、キーボードフォーカスを割り当てることができないようです。私は開発の早い段階でこの問題に気を配り、ユーザーにクリックを促すために「今すぐ再生」ボタン付きのスプラッシュ画面を追加しました。ただし、キーボードを機能させるには、ユーザーはアプリケーションをもう一度クリックする必要があります。

さらに悪いことに、メインメニューに戻るゲーム内ショートカットがあります。メインメニューに戻って[今すぐ再生]ボタンをクリックすると、SWFは再びフォーカスを失います。

おそらく、子オブジェクトを台無しにしたり、キーボードのフォーカスをキャプチャしたオブジェクトを誤って破壊したりしていますが、それがどのように機能するかはよくわかりません。私を正しい方向に向けるのを手伝ってもらえますか?

私のアプリケーションは単一の.SWFファイルであり、ブラウザーで直接実行しています(Webページ経由ではなく、最終的には呼び出します)。問題のファイルは次のとおりです。

http://www.space-squid.com/game/Main.swf [通常]をクリックすると、キーボードのフォーカスを実際に取得するためにもう一度クリックする必要があります。:(お気軽に質問してください!

編集:これが私が使用しているいくつかのコードです。

私のプライマリクラスで実行される最初のコードのいくつか:

ルートオブジェクトにフックを設定する必要がある場合に備えて、これも試しました。

空のスプライトが問題を引き起こしていた場合:

これらのすべての例で、2回目にクリックする限り、キーボードフックは正常に機能しますが、1回目はクリックしません。:(

2番目の編集:問題を絞り込みました。おそらく誰かが私がこれを正すのを手伝ってくれるでしょう、それはおそらく構造の問題です:

ご覧のとおり、[今すぐ再生]ボタンを作成すると、フォーカスの対象になるように見えます。フォーカスを探しているのは背景であるため、キーボードイベントがトラップされていません。それが理にかなっているかどうかはわかりませんが、うまくいけば、誰かがこれで私をまっすぐにすることができます!

その1行(removeChild(PlayNowButton))をコメントアウトすると、ゲームは完全に正常に動作し、キーボードのフォーカスを維持します。「playnow」ボタンが画面に永久にオーバーレイされるという欠点があります。

正直なところ、ゲーム自体が最初のクリックに焦点を合わせているかどうかさえわかりませんが、それをテストする方法はわかりません。

0 投票する
1 に答える
2174 参照

wpf - アプリケーションにシステム フォーカスを設定する

主にバックグラウンドで動作するアプリケーションがあります。アプリがフォアグラウンド アプリからフォーカスを奪うように処理する特定のシステム イベントが必要です。しかし、 UIElement.Focus() は WPF アプリ内でのみフォーカスを設定しているようです。つまり、WPF アプリ全体に既にフォーカスがある場合、Focus() はフォーカスを適切なコントロールに設定します。しかし、別のアプリからフォーカスを盗んで自分のアプリに置く必要があります。これどうやってするの?

システム モーダル ダイアログは必要ありません。つまり、ウィンドウがフォーカスを奪った後、ユーザーはアプリのウィンドウを閉じることなく、すぐに別のアプリに切り替えることができるはずです。

システム フォーカスを盗む必要がある場合、アプリは既に復元、最小化、または "トレイに最小化" 状態になっている可能性があります。したがって、ウィンドウが最小化されていると仮定して、ウィンドウの復元中にフォーカスを盗むことは受け入れられません。

0 投票する
2 に答える
5710 参照

flash - AS3 - キーボード フォーカスがあるオブジェクトを出力しますか?

AS3 とキーボード フォーカスに問題があります。現在キーボード フォーカスを持っているオブジェクトの名前を画面に出力するために使用できる変数または関数があるかどうか疑問に思っています。