jquery对话框两次开火事件

时间:2013-08-23 19:54:23

标签: jquery jquery-ui asp.net-mvc-4 jquery-ui-dialog

我遇到了jquery-ui的问题。

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

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

这是我的代码:

<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>

1 个答案:

答案 0 :(得分:3)

这是因为您在点击中再次呼叫dialog功能(触发第一个open呼叫,第二个是您对open的实际呼叫),如果您可以省略对话框功能,解决了问题,如果你真的需要更改对话框的信息,你应该使用option方法(而不是再次调用dialog

ventana.dialog( "option", { title: 'New Title',open:function(){...} } );