Controlador de eventos delegado perdedor jQuery

Tengo que hacer algunas cosas cuando ocurre un cambio en un TextBox en un GridView … Así que:

$(function () { $('.mGrid').on('change', 'input[id*="txtValore"]', function () { alert('CHANGE!!'); (...) }); }); 

La situación es:

   (...)  (...)  (...)   <asp:TextBox ID="txtValore" Text='' runat="server" />   (...)  (...)   (...)  (...)   <asp:TextBox ID="txtValore" Width="90%" Text='' runat="server" />   (...)  (...)  (...)   

Procesado así:

 
(...)
(...)
(...) (This part when Visible=true)
(...) (...) (...) (...) (...) (...)
-1.524,10
(...)
(...)

En el primer GridView también tengo un ImageButton que hace el segundo enlace de datos de griview y cambia la visibilidad de los paneles. En el segundo Panel tengo otro ImageButton, fuera del GridView, que hace lo contrario … Creo que ambos hacen una devolución de datos , porque puedo ver que se recarga toda la página … Ahora el comportamiento es, cuando la primera vez que se carga la página, si cambio el primer cuadro de texto TextBox, puedo ver la alerta. Después de hacer clic en el Botón de imagen y cambiar al segundo panel, el evento no se activa cuando se cambia el texto en la segunda cuadrícula y, si vuelvo al primer panel, ya no funciona ni con el primero. ¿Cuál podría ser el problema? ?

Si su botón “que cambia los paneles” reemplaza la cuadrícula actual, debe delegarlo de nuevo a un antepasado superior que no cambia:

por ejemplo, document

 $(function () { $(document).on('change', '.mGrid input[id*="txtValore"]', function () { alert('CHANGE!!'); (...) }); }); 

Ahora se lee como … si algún evento de cambio se '.mGrid input[id*="txtValore"]' en document , ejecute el '.mGrid input[id*="txtValore"]' para encontrar el elemento que lo causó, luego active la función contra ese elemento.

nota: el document es solo su valor predeterminado de respaldo si no hay nada más cerca que no cambie . No use 'body' ya que el estilo puede hacer que no reciba eventos de mouse burbujeados.