Как можно поддерживать «onblur» и подобные события?

asp.net-core blazor c#

Вопрос

Я хочу сделать что-то вроде:

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

но в настоящее время это только кажется , @onchange поддерживается, и на самом деле не срабатывает , когда contenteditable содержание изменяется. Я полагаю, что метод должен состоять в том, чтобы обработчик JS вызывал обработчик C #, но я не знаю, может ли общение идти таким путем. Лучший вариант теперь просто иметь кнопку, которая имеет обработчик onclick 'save to DB'? Или есть лучший вариант?

Принятый ответ

Вы правы, текущая версия Blazor не поддерживает событие onblur. Поддерживаются только события onclick, onchange и onkeypress. Я считаю, что этот запрос на растяжение должен позволить доступ к большему количеству событий и должен быть в версии 0.2.0.

Вы можете вызвать методы C # из JavaScript, если вы хотите пройти этот маршрут. См. Это сообщение в блоге для примера. Но, возможно, стоит дождаться выпуска 0.2.0, как и должно быть на следующей неделе.


Популярные ответы

Почувствовал необходимость составить список доступных событий в Blazor .... Кажется уместным уйти отсюда, так как добавлен onblur.


Фокус события (UIFocusEventArgs)

onfocus        
onblur
onfocusin
onfocusout

События мыши (UIMouseEventArgs)

onmouseover          
onmouseout    
onmousemove   
onmousedown   
onmouseup     
onclick       
ondblclick    
oncontextmenu 

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

События колеса мыши (UIWheelEventArgs)

onwheel       
onmousewheel  

Перетаскивание событий (UIDragEventArgs)

ondrag      
ondragend   
ondragenter 
ondragleave 
ondragover  
ondragstart 
ondrop      

События клавиатуры (UIKeyboardEventArgs)

onkeydown    
onkeyup      
onkeypress   

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

Входные события (UIEventArgs)

oninput        
oninvalid       
onreset       
onselect        
onselectstart   
onselectionchange
onsubmit     

onchange        UIChangeEventArgs

Буфер обмена (UIClipboardEventArgs)

oncopy
oncut
onpaste

onbeforecopy        UIEventArgs
onbeforecut       
onbeforepaste     

Сенсорные события (UITouchEventArgs)

ontouchcancel
ontouchend 
ontouchmove
ontouchstart
ontouchenter
ontouchleave

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

События указателя (UIPointerEventArgs)

gotpointercapture
lostpointercapture
pointercancel    
pointerdown    
pointerenter    
pointerleave    
pointermove      
pointerout       
pointerover     
pointerup        

Медиа события (UIEventArgs)

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

События прогресса (UIProgressEventArgs)

onloadstart
ontimeout
onabort
onload
onloadend
onprogress

onerror        (UIErrorEventArgs)

Общие события (UIEventArgs)

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



Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему