ASP.NET 2.0 プロジェクトを継承しましたが、展開するためにユーザーが を 2 回クリックする必要があることに気付きましたdropdownlist
。これはなぜですか?
イベントの順序
- での最初のクリックでコントロールにフォーカスが与えられ、2 回目でコントロールが展開されます。
- アプリケーションはマスター/コンテンツ ページを使用し、Ajax 対応です。
これは IE6 では発生しないようですが、IE7 では発生します。
ASP.NET 2.0 プロジェクトを継承しましたが、展開するためにユーザーが を 2 回クリックする必要があることに気付きましたdropdownlist
。これはなぜですか?
イベントの順序
これは IE6 では発生しないようですが、IE7 では発生します。
それを見つけて並べ替えました(今のところ)。
この問題は、ユーザー コントロールによって挿入され、DropDownLists にスタイルを追加していた Javascript 関数が原因でした。これが CSS で行われなかった理由はわかりませんが (すぐにわかります)、次の関数をコメントアウトすることで問題が解決しました。
function inputOnFocus(objInput)
{
objInput.style.backgroundColor = sHighLightBgColor;
objInput.style.border = sBorderHighlight;
//objInput.className = "inputOnFocus";
sIDWithFocus = objInput.id;
}
これが一部の DDL に適用され、他の DDL には適用されなかった方法/理由はよくわかりませんが、現時点では (顧客のデモが近づいているため) あまり気にしません - 機会があれば掘り下げます。
@LFSR Consulting、@Scott Evernden、@kogus にご意見をお寄せいただきありがとうございます。
これが最善の解決策であり、試していない場合はわかりません..しかし、問題のコントロールへの onload() で setfocus はどうですか?
IE7 を使用していて、これらのドロップダウンに onFocus イベントを使用している場合は、次をご覧ください。
http://forums.asp.net/p/1049119/1479078.aspx#1479078
それ以外の場合は、以下をご覧になることをお勧めします。
確認できるように、いくつかのコードを投げてもらえますか?
古いスレッドに投稿していることはわかっています。ただし、将来誰かを助ける可能性があるため、これについて 2 セントを共有したいと思います。
私は最近、簡単なフォームに取り組んでいて、ユーザーが移動するすべてのフィールドを黄色で強調表示し、フォーカスが失われると明らかに白に戻りたいと考えていました。
私は ASP.NET を扱っていないので、コードには触れずに、JavaScript の部分だけを説明します...これを修正するために、onmousedown 用の別のイベントを作成しました。オンフォーカス セクションがあるだけでは、ドロップダウン ボックスを 2 回クリックする必要があります。1 回はフォーカスを設定し、もう 1 回はクリックして項目を一覧表示します。onmousedown 関数を追加することで、タブやその他の形式のフォーカス シフトだけでなく、クリック時に色を変更できるようになりました。
もちろん、onblur が処理するので、対応するものを用意する必要はありません (onfocus の対応物)。
ドロップダウン データは on-drop-down イベントで入力されていますか? その場合、簡単な修正は、データ ロードの最後に DroppedDown 状態を True に設定することです。