Come possono essere supportati 'onblur' e eventi simili?




 Voglio fare qualcosa come: 


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

```
  ma al momento sembra supportato solo `@onchange` e in realtà non viene `@onchange` quando viene modificato il contenuto `contenteditable` . Suppongo che il metodo sarebbe avere un gestore JS che chiama il gestore C #, ma non so se la comunicazione può andare in questo modo. È l'opzione migliore ora solo per avere un pulsante che ha un gestore `onclick` di 'save to DB'? O c'è una migliore opzione disponibile?
Hai ragione, la versione corrente di Blazor non supporta l'evento onblur. Sono supportati solo gli eventi onclick, onchange e onkeypress. Credo che [questa richiesta di pull](https://github.com/aspnet/Blazor/pull/498) dovrebbe consentire l'accesso a più eventi e dovrebbe essere nella versione 0.2.0. 

 È possibile chiamare i metodi C # da JavaScript se si desidera seguire questa rotta. Vedi [questo post sul blog](https://codedaze.io/blazor-bites-javascript-interop/) per un esempio. Ma potrebbe valere la pena aspettare la versione 0.2.0 come dovrebbe essere fuori nella prossima settimana.
<p>gli elementi con attributo disabilitato non vengono inviati o puoi dire che i loro valori non sono pubblicati (vedi il secondo punto elenco sotto il passaggio 3 in <a href="https://www.w3.org/tr/html5/forms.html#constructing-the-form-data-set">le specifiche per costruire il set di dati del modulo</a> ).</p><p>vale a dire,</p><pre><code>&lt;input type="textbox" name="percentage" value="100" disabled="disabled" /&gt; </code></pre><p>cordiali saluti,</p><ol> <li>i controlli disabilitati non ricevono lo stato attivo.</li> <li>i controlli disabilitati vengono saltati nella navigazione a schede.</li> <li>i controlli disabilitati non possono essere pubblicati correttamente.</li> </ol><p>puoi utilizzare l'attributo <code>readonly</code> nel tuo caso, in questo modo sarai in grado di pubblicare i dati del tuo campo.</p><p>vale a dire,</p><pre><code>&lt;input type="textbox" name="percentage" value="100" readonly="readonly" /&gt; </code></pre><p>cordiali saluti,</p><ol> <li>gli elementi di sola lettura ricevono il focus ma non possono essere modificati dall'utente.</li> <li>gli elementi di sola lettura sono inclusi nella navigazione a schede.</li> <li>gli elementi di sola lettura vengono pubblicati correttamente.</li> </ol> <p>è meglio inserire il link di rimozione al <code>href</code> e al gestore javascript nel <code>onclick</code>.</p><pre><code>&lt;a href="/123/remove/" onclick="removeme(132); return false"&gt;remove&lt;/a&gt; </code></pre><p>in questo modo gli utenti senza javascript potranno comunque utilizzare la tua app (ma con un reindirizzamento a un'altra pagina) e coloro che hanno abilitato javascript useranno la versione javascript. entrambi vedranno un link significativo nella barra di stato.</p><p>se l'azione è significativa solo in questa pagina (mostra/nascondi smth, carica più dati, ad esempio), non dovresti usare <code>&lt;a&gt;</code> tag qui. usa stile <code>&lt;span&gt;</code> con sottolineatura tratteggiata, ad esempio.</p><p>in entrambi i casi, è anche utile scrivere un attributo <code>title</code> sul tuo link che spieghi cosa accadrà (verrà mostrato nella descrizione comando), per gli utenti che non usano le barre di stato.</p> <p>il driver del database aggiungerà nuovamente il risultato alla tabella dopo il salvataggio.</p><p>quindi, qualcosa come il prossimo dovrebbe funzionare:</p><pre><code>$table = $this-&gt;gettable(); if ($table-&gt;save($data)  true) { return $table-&gt;id; } else { return false; } </code></pre> <p>esiste un'app per android chiamata <a href="https://launchpad.net/tomdroid">tomdroid</a> che aveva un supporto sperimentale per la sincronizzazione del web e sembra essere vicina a fare una nuova versione. vedi <a href="https://lists.launchpad.net/tomdroid-dev/msg00142.html">questo thread</a> nella mailing list di tomdroid.</p> <p>dipende se la domanda è obbligatoria. hai bisogno di pulsanti di opzione se vuoi essere sicuro che un utente abbia risposto alla domanda, poiché con una casella di controllo vuota non saprai mai se un utente ha semplicemente dimenticato questa domanda.</p> <p>la cosa principale che vorrei ricordare al momento è che se le tue pagine si basano su meta-tag, vorrai testare e monitorare regolarmente la loro accettazione. ad esempio, per strumenti per i webmaster di google, se si desidera verificare la proprietà tramite meta-tag, è necessario posizionarlo in un elemento "head" (esistono altri modi per verificare la proprietà, quindi generalmente non è un problema, ma se devi fare affidamento sulla verifica basata su metatag, quindi è qualcosa da tenere a mente). lo stesso può valere per altri meta-tag come il meta-tag "robot" per controllare l'indicizzazione delle tue pagine: poiché l'accettazione al di fuori di una sezione "head" può variare da motore di ricerca a motore di ricerca, è una cosa che consiglierei di monitorare regolarmente (o forse è solo più semplice usare una sezione "testa" tradizionale per il momento se è necessario essere assolutamente certi).</p><p>per il resto, come altri hanno già detto, non darei per scontato che al momento sarebbe trattato in modo speciale. queste cose sono ancora in evoluzione ... una volta che si sono stabilizzate e si è scoperto che trattarle in modo diverso migliora significativamente la capacità di comprendere il contenuto di una pagina, quindi potresti iniziare a vedere cambiamenti nella gestione di quegli elementi.</p> <p>questo è un modo per eseguirlo come previsto:</p><p>il <code>view.raw.php</code> sarebbe qualcosa del genere:</p><pre><code>&lt;?php defined( '\_jexec' ) or die; class yourcomponentviewyourview extends jviewlegacy // or jview depends on j! version { public function display($tpl = 'raw') { parent::display($tpl); } } </code></pre><p>il file <code>default\_raw.php</code> nella cartella <code>tmpl</code> sarebbe simile al seguente:</p><pre><code>&lt;?php defined( '\_jexec' ) or die; $url = juri::base(); $ch = curl\_init($url); curl\_setopt($ch,curlopt\_returntransfer, true); curl\_setopt($ch,curlopt\_followlocation, true); $contents = curl\_exec($ch); curl\_close($ch); $dom = new domdocument(); libxml\_use\_internal\_errors(true); $dom-&gt;loadhtml($contents); libxml\_use\_internal\_errors(false); $xpath = new domxpath($dom); $head = $xpath-&gt;query('/html/head')-&gt;item(0); $head = $dom-&gt;savehtml($head); echo '&lt;html&gt;' . $head . '&lt;body&gt;blah blah&lt;/body&gt;&lt;/html&gt;' </code></pre> ciao kira no non puoi fare una cosa del genere con works...ti servono programmi esterni di traduzioni e cmq nn avresti una traduzione fatta bene...anzi più delle volte sono pessime....
non so suggerirti softwae di traduzione perkè quelli provati hanno semrpe fatto pena e quindi li eliminavo direttamente....c'è power translator babylon translotr e altri software ma perderesti tempo e basta soprattutto epr un tema...spero che qualcun atlro possa aiutarti ma avrai sempre molte correzioni da fare a livello logico-linguistico del tema una volta tradotto che lo supporti in modo nativo non ne conosco.
in alternativa puoi prenderti un vps, ci installi sopra tutto quello che vuoi e via. hai semplicemente la tastiera impostata sulla lingua inglese...
devi modificare la lingua di scrittura, andando su " pannello di controllo " - " opzioni internazionali e della lingua " - scheda " lingue " - sezione " servizi di testo e lingue di input " - " dettagli " - " impostazioni ". nella parte " lingua di input predefinita " scorri il menù a tendina sino a " italiano ".
poi sotto, in " servizi installati ", " aggiungi " e cerca " italiano " ( primo campo ) e " italiano 142 " ( secondo campo ) e dai l' ok
poi clikki su " applica " - ok
chiudi e controlla
se dovessi vedere ancora la scritta en in basso a destra, usa la combinazione tasti alt+tasto sopra ctrl per cambiare da una lingua all' altra