0

ユーザーが削除ボタンを押したときにポップアップを表示するために、jQuery の .show() 関数を使用しています。

コードは 1 つのことを除いて問題なく動作しています。残りの div とテキストが表示される前に 2 つのボタンが表示されます。誰かが理由を知っているか、これに対する修正があるかどうかを知っていますか?

HTML (#delete は別の場所にネストされています)

<div id="popupbgitembg">
<ul class="popupbgitems">
        <li>
            Are you sure you want to delete?
        </li> 
        <li></li> 
        <li>
            <asp:Button ID="butdelete" runat="server" Text="Delete" Font-Size="11px"/>
            <asp:Button ID="butcancel" runat="server" Text="Cancel" Font-Size="11px"/>
        </li>
    </ul>
</div> 

jQuery

        function popup() {
            $("#popupbg").animate({ opacity: ".8" });
            $("#delete").click(
            function() {
                $("#popupbg, #popupbgitembg").show('fast')
            });
            $("#butdelete, #butcancel").click(
            function() {
                $("#popupbg, #popupbgitembg").hide('medium')
            });
        } 
4

3 に答える 3

0

jQuery で Asp.net ボタンを使用する場合、この要素にアクセスするにはクラスを使用する必要があります。例えば ​​:

<asp:Button ID="butdelete" calss="butdelete" runat="server" Text="Delete" Font-Size="11px"/>

Asp.net のため、ページのレンダリング中に要素 ID を書き換えます! そのため、要素 ID が別の名前に変更されています。ページの右クリックで「ページのソースを表示」を使用すると、このアクションを確認できます。

<button type="button" ID="butdelete" runat="server" Text="Delete" Font-Size="11px"/>

この場合、asp.net でイベント マネージャにアクセスしていません。おそらく event を使用する必要がありますが、この方法ではおそらく不可能ですか?!

英文については申し訳ありませんが、私はまだ英語を学んでいます。頑張ってください。

于 2012-08-10T07:13:45.597 に答える
0

私の推測では、ボタンがaspコントロールであることに関係しています。ダイアログがロードされたら、ボタンを非表示にして表示してみませんか。

于 2012-08-10T01:20:02.237 に答える
0

それでも問題が解決しない場合は、 asp-buttons を html-buttons に置き換えてみてください。 #popupbg が何を参照しているのか理解できません。

//first change

    <li>
        <button type="button" ID="butdelete" runat="server" Text="Delete" Font-Size="11px"/>
        <button type="button" ID="butcancel" runat="server" Text="Cancel" Font-Size="11px"/>
    </li>

// 2 番目の変更

        function() {
            $("#popupbgitembg").show('fast')
        });
于 2012-08-10T01:20:17.757 に答える