Ho vincolato gli eventi jquery impostati per mouseenter mouseleave e jquery draggable. I div vengono posizionati in un pannello di aggiornamento e quando si fa clic su un pulsante le informazioni vengono inviate al database e il pannello di aggiornamento viene aggiornato. Tuttavia, quando il pannello viene aggiornato, gli eventi jQuery non funzionano più. Qualche idea sul perché questo sarebbe il caso?Il pannello di aggiornamento di ASP.NET blocca jquery dal funzionamento
risposta
Puoi aggiungere un trigger Asincrono alla tua pagina per chiamare un JavaScript/Funzione jQuery dopo ogni chiamata asincrona.
Inserire questo codice nel tuo Page_Load() del codice aspx dietro:
//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);
Questo frammento di codice in modo specifico chiamare la funzione AsyncDone JavaScript/jQuery();
Utilizzare live.
$("div").live("mouseenter", function(){
// do something
});
dalla documentazione jQuery per "live": Attualmente non supportato: sfocatura, messa a fuoco, MouseEnter, mouseLeave, il cambiamento , invia –
Per le persone che hanno appena trovato questa domanda, questo non è più il caso, jQuery 1.4 e le versioni più recenti supportano tutti gli eventi che hanno bolle. https://api.jquery.com/live/ – nyuszika7h
prova utilizzando
function pageLoad(sender, args)
{
// JQuery code goes here
}
anziché
$(document).ready(function() {
// JQuery code goes here
});
Ciò funzionerà quando un pulsante che è all'interno di un pannello di aggiornamento viene cliccato; va al server e riaggiungerà il jquery quando ritorna. Tuttavia, questo non funziona con i postback asincroni causati da un controllo come eo: AJAXUploader ma combinando questo con la versione Bryans puoi gestire anche i postback asincroni
Dai uno sguardo a questo blog post di Encosia che ti offre un paio di modi per riavviarti dopo gli aggiornamenti asincroni. Ho trovato questo risolto il mio problema che era simile.
Bryan ha la risposta. Io di solito aggiungo che con alcuni gestori di eventi, per la scuoiatura e tale, che il fuoco dopo postback con questo:
/**
* .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. Pannello di aggiornamento ASP.NET all'interno del pannello nascosto bug possibile
- 2. Esecuzione di script dopo il pannello di aggiornamento AJAX asp.net
- 3. Come creare un pannello di aggiornamento in ASP.NET MVC
- 4. ASP.NET - pannello di aggiornamento nella pagina master, pulsante di aggiornamento in Content Pagina
- 5. Impossibile trovare il controllo in Pannello di aggiornamento per trigger
- 6. Il paging non funziona in asp.net gridview all'interno del pannello di aggiornamento AJAX
- 7. Il pulsante non funziona con il Pannello di aggiornamento
- 8. asp.net ThreadPool - funzionamento di lunga durata
- 9. Come accedere alla casella di testo, etichetta all'interno del pannello di aggiornamento dal codice sottostante usando i moduli web asp.net
- 10. Pannello di aggiornamento non sta aggiornando il contenuto
- 11. Barra di avanzamento ASP.NET AJAX: aggiornamento dal codice sottostante?
- 12. Come eseguire una callback javascript dopo il postback di un pannello di aggiornamento?
- 13. jQuery mostra "caricamento" durante il funzionamento lento
- 14. Rimozione del listener di chiavi dal pannello
- 15. WinForm di applicazione di interfaccia utente si blocca durante il funzionamento
- 16. Esecuzione di Javascript dopo l'aggiornamento del pannello di aggiornamento
- 17. Un'alternativa professionale al pannello di aggiornamento AJAX di Microsoft?
- 18. ASP.Net: necessario eseguire javascript sul caricamento del pannello di aggiornamento completato
- 19. RegisterStartupScript non funziona all'interno di un pannello di aggiornamento per aprire il file in una nuova scheda in asp.net
- 20. ASP.NET determina quale pulsante è stato selezionato all'interno di un pannello di aggiornamento nell'evento di caricamento della pagina
- 21. Salva pulsante non funziona, quando pannello di aggiornamento viene utilizzato
- 22. ASP.NET: HtmlGenericControl ("div") o Pannello
- 23. blocca sammy.js dal furto di "link reali"
- 24. Messaggi di Windows durante il funzionamento prolungato?
- 25. e il funzionamento di sovraccarico in python
- 26. Aggiornamento di JScript intellisense si blocca VS 2010
- 27. Funzionamento di Datastax PreparatedStatements
- 28. Aggiornamento uniforme Jquery non funziona
- 29. Asp.Net MVC3 a MVC4 Strumento di aggiornamento?
- 30. Javascript nel pannello di aggiornamento non funziona dopo il postback parziale
Ho provato questo, ma la mia funzione "AsyncDone()" non è stata chiamata. – ErnieStings
Hai provato a mettere un avviso per vedere se viene chiamato? Dovrai riagganciare i tuoi eventi jquery dopo ogni caricamento asincrono della pagina all'interno della funzione AsyncDone(). –