contenteditable события изменения

можно передать желаемую локаль в тестовую лабораторию с параметром --device.

поскольку документация для gcloud firebase test and run гласит:

--device теперь является предпочтительным способом задания тестовых устройств и не может использоваться вместе с [ 114], --os-version-ids, --locales или --orientations. Если пропустить все предыдущие флаги, связанные с измерением, будут запущены тесты для одного устройства с использованием значений по умолчанию для всех четырех измерений устройства.

blockquote>
--device model=shamu,version=23,locale=fr_FR,orientation=default

, иначе он просто будет использовать локаль по умолчанию en, что приводит к тому, что ¤ не указан символ валюты.

предполагать, что французская локаль означает как символ валюты, может быть ошибочным; потому что при запуске gcloud firebase test android locales list он выводит довольно много колоний:

│ fr     │ French                      │                                          
│ fr_BE  │ French                      │ Belgium                           
│ fr_BF  │ French                      │ Burkina Faso                      
│ fr_BI  │ French                      │ Burundi                           
│ fr_BJ  │ French                      │ Benin                             
│ fr_BL  │ French                      │ Saint Barthélemy                  
│ fr_CA  │ French                      │ Canada                            
│ fr_CD  │ French                      │ Congo (DRC)                       
│ fr_CF  │ French                      │ Central African Republic          
│ fr_CG  │ French                      │ Congo (Republic)                  
│ fr_CH  │ French                      │ Switzerland                       
│ fr_CI  │ French                      │ Côte d’Ivoire                     
│ fr_CM  │ French                      │ Cameroon                          
│ fr_DJ  │ French                      │ Djibouti                          
│ fr_DZ  │ French                      │ Algeria                           
│ fr_FR  │ French                      │ France                            
│ fr_GA  │ French                      │ Gabon                             
│ fr_GF  │ French                      │ French Guiana                     
│ fr_GN  │ French                      │ Guinea                            
│ fr_GP  │ French                      │ Guadeloupe                        
│ fr_GQ  │ French                      │ Equatorial Guinea                 
│ fr_HT  │ French                      │ Haiti                             
│ fr_KM  │ French                      │ Comoros                           
│ fr_LU  │ French                      │ Luxembourg                        
│ fr_MA  │ French                      │ Morocco                           
│ fr_MC  │ French                      │ Monaco                            
│ fr_MF  │ French                      │ Saint Martin                      
│ fr_MG  │ French                      │ Madagascar                        
│ fr_ML  │ French                      │ Mali                              
│ fr_MQ  │ French                      │ Martinique                        
│ fr_MR  │ French                      │ Mauritania                        
│ fr_MU  │ French                      │ Mauritius                         
│ fr_NC  │ French                      │ New Caledonia                     
│ fr_NE  │ French                      │ Niger                             
│ fr_PF  │ French                      │ French Polynesia                  
│ fr_PM  │ French                      │ Saint Pierre and Miquelon         
│ fr_RE  │ French                      │ Réunion                           
│ fr_RW  │ French                      │ Rwanda                            
│ fr_SC  │ French                      │ Seychelles                        
│ fr_SN  │ French                      │ Senegal                           
│ fr_SY  │ French                      │ Syria                             
│ fr_TD  │ French                      │ Chad                              
│ fr_TG  │ French                      │ Togo                              
│ fr_TN  │ French                      │ Tunisia                           
│ fr_VU  │ French                      │ Vanuatu                           
│ fr_WF  │ French                      │ Wallis and Futuna                 
│ fr_YT  │ French                      │ Mayotte                           

333
задан danwellman 13 February 2017 в 11:37
поделиться

5 ответов

Я бы посоветовал прикрепить слушателей к ключевым событиям, запускаемым редактируемым элементом, хотя вы должны знать, что keydown и keypress события запускаются перед изменением самого содержимого. Это не будет охватывать все возможные способы изменения содержимого: пользователь также может использовать вырезание, копирование и вставку из меню редактирования или контекстного меню браузера, поэтому вам может потребоваться обработать события вырезать копировать и вставить . Кроме того, пользователь может перетащить текст или другой контент, чтобы там было больше событий (например, mouseup ). Вы можете опросить содержимое элемента в качестве запасного варианта.

ОБНОВЛЕНИЕ 29 октября 2014 г.

HTML5 input событие - это долгосрочное решение. На момент написания он поддерживается для contenteditable элементов в текущих браузерах Mozilla (начиная с Firefox 14) и WebKit / Blink, но не в IE.

Демо:

 document.getElementById ("редактор ") .addEventListener (" input ", function () {console.log (" input event fired ");}, false); 
 
Пожалуйста, введите что-нибудь здесь

Демо: http://jsfiddle.net/ch6yn/2691/

276
ответ дан 23 November 2019 в 00:43
поделиться

В Угловых 2 +

<div contentEditable (input)="type($event)">
   Value
</div>

@Component({
  ...
})
export class ContentEditableComponent {

 ...

 type(event) {
   console.log(event.data) // <-- The pressed key
   console.log(event.path[0].innerHTML) // <-- The content of the div 
 }
}


0
ответ дан 23 November 2019 в 00:43
поделиться

The onchange event doesn't fires when an element with the contentEditable attribute is changed, a suggested approach could be to add a button, to "save" the edition.

Check this plugin which handles the issue in that way:

0
ответ дан 23 November 2019 в 00:43
поделиться

Чтобы избежать таймеров и кнопок «сохранить», вы можете использовать событие размытия, которое срабатывает, когда элемент теряет фокус. но чтобы быть уверенным в том, что элемент был действительно изменен (а не просто сфокусирован и расфокусирован), его содержание следует сравнить с его последней версией. или используйте событие keydown, чтобы установить какой-нибудь «грязный» флаг на этом элементе.

0
ответ дан 23 November 2019 в 00:43
поделиться

Проверьте эту идею. http://pastie.org/1096892

Думаю, это близко. HTML 5 действительно нужно добавить событие изменения в спецификацию. Единственная проблема заключается в том, что функция обратного вызова оценивает if (before == $ (this) .html ()) до фактического обновления содержимого в $ (this) .html (). setTimeout не работает, и это печально. Дайте мне знать, что вы думаете.

-1
ответ дан 23 November 2019 в 00:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: