我遇到了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>
答案 0 :(得分:3)
这是因为您在点击中再次呼叫dialog
功能(触发第一个open
呼叫,第二个是您对open
的实际呼叫),如果您可以省略对话框功能,解决了问题,如果你真的需要更改对话框的信息,你应该使用option
方法(而不是再次调用dialog
)
ventana.dialog( "option", { title: 'New Title',open:function(){...} } );