0

我有 jquery-ui 的问题。

我绑定了一个点击事件来打开一个对话框,但是对话框的 open 函数会触发两次。

click事件只触发一次,只是打开两个对话框的open函数

这是我的代码:

<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调用,第二次是您对 的实际调用open),如果您可以省略对话框功能,则解决了问题,如果您确实必须更改有关对话框的信息,您应该使用该option方法(而不是再次调用dialog

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