0

jquery-ui に問題があります。

クリック イベントをバインドしてダイアログを開きますが、ダイアログの open 関数が 2 回起動します。

クリック イベントは 1 回だけ発生し、2 つのダイアログを開くオープン関数のみです。

これは私のコードです:

<div id="modalWindow">Cargando...</div>
    <script>
        $(document).ready(function () {
            var ventana = $("DIV#modalWindow");
            ventana.dialog({
                autoOpen: false,
                show: "slow",
                hide: "slow",
                width: 500,
                resizable: false,
                draggable: false,
                modal: true,
                closeOnEscape: true,
                Ok: function () { $(this).dialog("close").html("Cargando..."); },
                close: function () { $(this).html("Cargando..."); }
            });

            $("DIV.imagen_perfil img").click(function (evt) {
                //...some code
                    ventana.dialog({
                        title: "Subir Imagen",
                        open: function (event, ui) {
                            //...loads PartialView
                        }
                    });
                ventana.dialog("open");
            });

        });
        </script>

これは、クリック イベントを発生させる HTML です。

<li>
    <label >Imagen de perfil:(Click en la Imagen Para Agregar):</label>
    <div class="imagen_perfil">
        <img src="~/images/imagen_pordefecto.png"/>
    </div>
</li>
4

1 に答える 1

3

dialogこれは、クリックで関数を再度呼び出しているためです(最初のopen呼び出しをトリガーし、2 番目の呼び出しは への実際の呼び出しopenです)。ダイアログ関数を省略できれば、問題は解決します。ダイアログに関する情報を本当に変更する必要がある場合。 、メソッドを使用する必要があります(再度option呼び出す代わりに)dialog

ventana.dialog( "option", { title: 'New Title',open:function(){...} } );
于 2013-08-23T20:05:17.107 に答える