2

ASP.NET 2.0 プロジェクトを継承しましたが、展開するためにユーザーが を 2 回クリックする必要があることに気付きましたdropdownlist。これはなぜですか?

イベントの順序

  1. での最初のクリックでコントロールにフォーカスが与えられ、2 回目でコントロールが展開されます。
  2. アプリケーションはマスター/コンテンツ ページを使用し、Ajax 対応です。

これは IE6 では発生しないようですが、IE7 では発生します。

4

5 に答える 5

1

それを見つけて並べ替えました(今のところ)。

この問題は、ユーザー コントロールによって挿入され、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 にご意見をお寄せいただきありがとうございます。

于 2008-12-10T11:53:36.800 に答える
0

これが最善の解決策であり、試していない場合はわかりません..しかし、問題のコントロールへの onload() で setfocus はどうですか?

于 2008-12-09T17:02:04.493 に答える
0

IE7 を使用していて、これらのドロップダウンに onFocus イベントを使用している場合は、次をご覧ください。

http://forums.asp.net/p/1049119/1479078.aspx#1479078

それ以外の場合は、以下をご覧になることをお勧めします。

  • サーバー onFocus に対して呼び出しが行われていますが、Page_Load で IsPostBack が適切に処理されていませんか?
  • 他のアイデアについては空白を描画します...

    確認できるように、いくつかのコードを投げてもらえますか?

  • 于 2008-12-09T17:17:15.600 に答える
    0

    古いスレッドに投稿していることはわかっています。ただし、将来誰かを助ける可能性があるため、これについて 2 セントを共有したいと思います。

    私は最近、簡単なフォームに取り組んでいて、ユーザーが移動するすべてのフィールドを黄色で強調表示し、フォーカスが失われると明らかに白に戻りたいと考えていました。

    私は ASP.NET を扱っていないので、コードには触れずに、JavaScript の部分だけを説明します...これを修正するために、onmousedown 用の別のイベントを作成しました。オンフォーカス セクションがあるだけでは、ドロップダウン ボックスを 2 回クリックする必要があります。1 回はフォーカスを設定し、もう 1 回はクリックして項目を一覧表示します。onmousedown 関数を追加することで、タブやその他の形式のフォーカス シフトだけでなく、クリック時に色を変更できるようになりました。

    もちろん、onblur が処理するので、対応するものを用意する必要はありません (onfocus の対応物)。

    于 2010-03-29T20:13:03.843 に答える
    -1

    ドロップダウン データは on-drop-down イベントで入力されていますか? その場合、簡単な修正は、データ ロードの最後に DroppedDown 状態を True に設定することです。

    于 2008-12-09T17:19:08.983 に答える