Comment soutenir 'onblur' et des événements similaires?

asp.net-core blazor c#

Question

Je veux faire quelque chose comme:

<td contenteditable=true @onblur(async (txt) => { ... })>

mais actuellement, il semble que seul @onchange soit pris en charge et ne se déclenche pas lorsque le contenu contenteditable est modifié. Je suppose que la méthode serait d’avoir un gestionnaire JS qui appelle le gestionnaire C #, mais je ne sais pas si la communication peut s’effectuer de cette façon. Est-ce que la meilleure option est maintenant juste d'avoir un bouton qui a un onclick de 'save to DB'? Ou existe-t-il une meilleure option disponible?

Réponse acceptée

Vous avez raison, la version actuelle de Blazor ne prend pas en charge l'événement onblur. Seuls les événements onclick, onchange et onkeypress sont pris en charge. Je crois que cette demande d'extraction devrait permettre l'accès à plus d'événements et devrait figurer dans la version 0.2.0.

Vous pouvez appeler des méthodes C # à partir de JavaScript si vous souhaitez emprunter cette voie. Voir ce blog pour un exemple. Mais il pourrait être intéressant d’attendre la publication de la version 0.2.0, qui devrait sortir dans les semaines à venir.


Réponse populaire

Nous avons ressenti le besoin de créer une feuille de triche des événements disponibles dans Blazor .... Il semble pertinent de laisser ici comme on blur est ajouté.


Événements Focus (UIFocusEventArgs)

onfocus        
onblur
onfocusin
onfocusout

Événements de souris (UIMouseEventArgs)

onmouseover          
onmouseout    
onmousemove   
onmousedown   
onmouseup     
onclick       
ondblclick    
oncontextmenu 

https://github.com/aspnet/Blazor/blob/master/test/testapps/BasicTestApp/MouseEventComponent.cshtml

Evénements de roue de souris (UIWheelEventArgs)

onwheel       
onmousewheel  

Événements Drag (UIDragEventArgs)

ondrag      
ondragend   
ondragenter 
ondragleave 
ondragover  
ondragstart 
ondrop      

Événements de clavier (UIKeyboardEventArgs)

onkeydown    
onkeyup      
onkeypress   

https://github.com/aspnet/Blazor/blob/master/test/testapps/BasicTestApp/KeyPressEventComponent.cshtml

Événements d'entrée (UIEventArgs)

oninput        
oninvalid       
onreset       
onselect        
onselectstart   
onselectionchange
onsubmit     

onchange        UIChangeEventArgs

Presse-papiers (UIClipboardEventArgs)

oncopy
oncut
onpaste

onbeforecopy        UIEventArgs
onbeforecut       
onbeforepaste     

Événements Touch (UITouchEventArgs)

ontouchcancel
ontouchend 
ontouchmove
ontouchstart
ontouchenter
ontouchleave

https://github.com/aspnet/Blazor/blob/master/test/testapps/BasicTestApp/TouchEventComponent.cshtml

Événements de pointeur (UIPointerEventArgs)

gotpointercapture
lostpointercapture
pointercancel    
pointerdown    
pointerenter    
pointerleave    
pointermove      
pointerout       
pointerover     
pointerup        

Événements médiatiques (UIEventArgs)

oncanplay      
oncanplaythrough
oncuechange
ondurationchange
onemptied   
onpause       
onplay     
onplaying      
onratechange 
onseeked      
onseeking      
onstalled      
onstop       
onsuspend      
ontimeupdate   
onvolumechange  
onwaiting       

Événements de progression (UIProgressEventArgs)

onloadstart
ontimeout
onabort
onload
onloadend
onprogress

onerror        (UIErrorEventArgs)

Événements généraux (UIEventArgs)

onactivate      
onbeforeactivate   
onbeforedeactivate 
ondeactivate       
onended       
onfullscreenchange 
onfullscreenerror  
onloadeddata       
onloadedmetadata   
onpointerlockchange
onpointerlockerror 
onreadystatechange 
onscroll      


Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow