He enlazado los eventos de jquery configurados para mouseover mouseleave, así como jquery draggable. Los divs se colocan en un panel de actualización y, cuando se hace clic en un botón, se envía información a la base de datos y se actualiza el panel de actualización. Sin embargo, cuando se actualiza el panel, los eventos de jquery ya no funcionan. ¿Alguna idea de por qué este sería el caso?El panel de actualización de ASP.NET detiene la ejecución de jquery en
Respuesta
Puede agregar un activador asincrónico a su página para llamar a un JavaScript/Función jQuery después de cualquier llamada asíncrona.
Coloque este código en tu Load() de su código aspx atrás:
//This script handles ajax postbacks, by registering the js to run at the end of *AJAX* requests
Page.ClientScript.RegisterStartupScript(typeof(Page), "ajaxTrigger", "Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);", true);
Page.ClientScript.RegisterClientScriptBlock(typeof(Page), "EndRequest", "function EndRequestHandler(sender, args){AsyncDone();}", true);
Este fragmento de código va a llamar a la función específica AsyncDone JavaScript/jQuery();
Use live.
$("div").live("mouseenter", function(){
// do something
});
de la documentación de jQuery para "vivo": Actualmente no soportado: mancha, foco, MouseEnter, mouseleave, el cambio , envíe –
. Para las personas que recientemente han encontrado esta pregunta, este ya no es el caso, jQuery 1.4 y las versiones más nuevas admiten todos los eventos que burbujean. https://api.jquery.com/live/ – nyuszika7h
tratar de usar
function pageLoad(sender, args)
{
// JQuery code goes here
}
en lugar de
$(document).ready(function() {
// JQuery code goes here
});
Esto funciona cuando se hace clic en un botón que se encuentra dentro de un panel de actualización; va al servidor y volverá a agregar el jquery cuando regrese. Sin embargo, esto no funciona con las devoluciones de datos asincrónicas causadas por un control como el eo: AJAXUploader pero al combinar esto con la versión de Bryans también puede gestionar las devoluciones asincrónicas
Echa un vistazo a este blog post de Encosia, que te da un par de formas de volver a vincular después de las actualizaciones asíncronas. Encontré que esto resolvió mi problema, que era similar.
Bryan tiene la respuesta. Me suelen añado que con algunos controladores de eventos, para despellejar y tal, que el fuego después de las devoluciones de datos con este:
/**
* .NET Event Handlers
* When new code is added on to the client by way of
* .NET PostBacks, CSS is typically ignored. This method
* can be used to add CSS to new elements as they are added
* asynchronously. It calls a script at the end of every
* partial post back request.
*
* @example - Core.NETEventHandlers.AsyncPostBack.Init();
*/
var NETEventHandlers: {
/**
* Async Post Back Handler
* calls a script at the end of every partial post back request
*/
AsyncPostBack: {
EndRequest: {
Add: function() {
Sys.WebForms.PageRequestManager.getInstance().add_endRequest(NETEventHandlers.AsyncPostBack.EndRequest.Handler);
} // EO Add
, Handler: function(sender, args) {
// Handlers here.
alert('Hello World');
} // EO Handler
} // EO endRequest
, Init: function() {
Sys.Application.add_init(NETEventHandlers.AsyncPostBack.EndRequest.Add);
}
} // EO AsyncPostBack
} // EO dotNETEventHandlers
- 1. Cómo hacer el panel de actualización en ASP.NET MVC
- 2. Ejecutar javascript desde el panel de actualización en cada actualización
- 3. Reenlace de eventos en jQuery después de la actualización de Ajax (panel de actualización)
- 4. jQuery Confirme el cuadro que detiene la ejecución del script
- 5. Un panel de actualización frente a varios paneles de actualización
- 6. Error extraño al combinar un panel de actualización de ASP.NET con jQuery UI DatePicker
- 7. Ejecutando script después del panel de actualización AJAX asp.net
- 8. actualización Panel fila equivocada
- 9. ¿El cambio de window.location detiene la ejecución de javascript?
- 10. Panel de actualización de ASP.NET dentro del panel oculto error posible
- 11. ASP.Net: Panel de actualización asíncrona de carga con dos paneles de actualización
- 12. Validación de jquery y actualización del panel juntos
- 13. ASP.NET inyectar javascript en control de usuario anidado en el panel de actualización
- 14. Problema al utilizar el control FileUpload de ASP.NET en un Panel de actualización?
- 15. ASP.NET - panel de actualización en la página principal botón, refrescarse en Contenido
- 16. ¿Cómo se detiene la ejecución de Grails en Intellij?
- 17. ASP.Net: Necesita ejecutar javascript en la carga del panel de actualización completada
- 18. ASP.NET La devolución de datos de Ajax se detiene de repente en IPhone/IPad
- 19. Ejecutando Javascript después de actualizar el panel de actualización
- 20. Javascript setTimeout detiene la ejecución de otro script
- 21. ¿El navegador stop/crash detiene la ejecución del script?
- 22. ApplicationInstance.CompleteRequest no detiene la ejecución del código debajo de él?
- 23. Panel de actualización no está actualizando el contenido
- 24. Mantener la posición de desplazamiento después de la devolución de datos asincrónica desde el panel de actualización
- 25. Debugging asp.net se detiene de repente
- 26. Forzar actualización de DOM inmediata modificada con jQuery en la función de larga ejecución
- 27. ¿Cómo puedo agregar una clase css a un panel de actualización en ASP.Net?
- 28. TinyMCE con AJAX (Panel de actualización) nunca tiene un valor
- 29. cómo activar el panel de actualización dentro de una función de Javascript
- 30. Actualización de la aplicación en ejecución en Android
Intenté esto, pero mi función "AsyncDone()" no fue llamada. – ErnieStings
¿Intentó poner una alerta para ver si se está llamando? Tendrá que volver a conectar sus eventos jquery después de cargar cada página asíncrona dentro de la función AsyncDone(). –