Estoy usando el jquery-ui-dialog
complemento
Estoy buscando la manera de actualizar la página cuando, en algunas circunstancias, cuando se cierra el cuadro de diálogo.
¿Hay alguna manera de capturar un evento cercano desde el diálogo?
Sé que puedo ejecutar el código cuando se hace clic en el botón de cerrar, pero eso no cubre al usuario que cierra con escape o la x en la esquina superior derecha.
$('div#popup_content')
correcto? ¿Con qué debería reemplazar esto, teniendo en cuenta que mi diálogo se abre así?jQuery.fn.dialog.open({})
$('body').on('dialogclose', '.ui-dialog', function(){...});
Creo que también puedes hacerlo mientras creas el diálogo (copiado de un proyecto que hice):
Nota
close: CloseFunction
fuente
var CloseFunction = function() { //Do your custom closing stuff here };
overlay
dos veces Eso no es necesario, ¿verdad?fuente
La propiedad "cerrar" del diálogo proporciona el evento de cierre para el mismo.
fuente
También puedes probar esto
fuente
Esto es lo que funcionó para mí ...
fuente
Porque en realidad nadie creó una respuesta con el uso.
on()
en lugar debind()
decidí crear uno.fuente
agregue la opción 'cerrar' como debajo de la muestra y haga lo que quiera en línea
fuente
Si entiendo el tipo de ventana de la que estás hablando, no $ (window) .unload () (para la ventana de diálogo) no te daría el gancho que necesitas?
(Y si no entendí bien, y usted está hablando de un cuadro de diálogo hecho a través de CSS en lugar de una ventana emergente del navegador, entonces todas las formas de cerrar esa ventana son elementos para los que puede registrar lectores de clics).
Editar: Ah, ahora veo que estás hablando de diálogos jquery-ui, que se realizan a través de CSS. Puede enganchar la X que cierra la ventana registrando un controlador de clic para el elemento con la clase ui-dialog-titlebar-close .
Más útil, tal vez, es decirle cómo resolverlo rápidamente. Mientras muestra el diálogo, simplemente abra FireBug e Inspeccione los elementos que pueden cerrar la ventana. Verá instantáneamente cómo se definen y eso le brinda lo que necesita para registrar los controladores de clics.
Entonces, para responder directamente a su pregunta, creo que la respuesta es realmente "no", no hay un evento cercano que pueda enganchar, pero sí, puede conectar todas las formas de cerrar el cuadro de diálogo con bastante facilidad y obtener Lo que quieras.
fuente
Puede probar el siguiente código para capturar el evento de cierre de cualquier elemento: página, diálogo, etc.
fuente