0

スクロール バーがある ASP.net ページに、HTML チェック ボックスを使用したカスタマイズされたコントロールを配置しました (階層構造のようなものです)。

ページを下にスクロールして (そのコントロールに到達するために)、そのチェック ボックスから任意の項目を選択すると、ポスト バックを発生させることなく、ページがページの上部までスクロールします。

スクロールの問題が発生しないようにするにはどうすればよいですか?

注: これは Firefox でのみ発生し、IE 8/9 や Chrome などの他のブラウザでは発生しません。

これは、私の別のasp.netページで使用したカスタマイズされたコントロールであり、以下の項目のいずれかをチェックするときです。ページのスクロールアップを引き起こします。

<asp:Panel ID="TreeViewPanel" runat="server" style="border: 1px solid #CCC; width: 210px; padding:5px 0;">
<ul id="tree">
<li>
    <label>
        <input type="checkbox" value="treeHdrCheck1" runat="server"/>Win Exe
    </label>
    <ul>
        <li>
            <label>
                <input type="checkbox" value="1" runat="server"/>.EXE</label></li>
        <li>
            <label>
                <input type="checkbox" value="2" runat="server"/>.DLL</label></li>
        <li>
            <label>
                <input type="checkbox" value="3" runat="server"/>.OCX</label></li>
        <li>
            <label>
                <input type="checkbox" value="4" runat="server"/>.SYS</label></li>
        <li>
            <label>
                <input type="checkbox" value="5" runat="server"/>.SCR</label></li>
    </ul>
</li>

4

1 に答える 1

1

チェックボックスをスタイリングしていますか?

のような CSS を使用する場合

label {
    display: block;
    overflow: hidden;
}

label input[type="checkbox"] {
    position: absolute;
    left: -10000px;
    top: -10000px;
}

top: -10000px;含まれているラベルから実際の入力要素を非表示にするには、Firefox が入力要素をスクロールして表示したいように見えるため、その部分を削除する必要がある場合があります。

于 2012-12-18T13:57:34.870 に答える