можно передать желаемую локаль в тестовую лабораторию с параметром --device
.
поскольку документация для gcloud firebase test and run гласит:
blockquote>
--device
теперь является предпочтительным способом задания тестовых устройств и не может использоваться вместе с [ 114],--os-version-ids
,--locales
или--orientations
. Если пропустить все предыдущие флаги, связанные с измерением, будут запущены тесты для одного устройства с использованием значений по умолчанию для всех четырех измерений устройства.--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
Я бы посоветовал прикрепить слушателей к ключевым событиям, запускаемым редактируемым элементом, хотя вы должны знать, что 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);
Пожалуйста, введите что-нибудь здесь
В Угловых 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
}
}
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:
Чтобы избежать таймеров и кнопок «сохранить», вы можете использовать событие размытия, которое срабатывает, когда элемент теряет фокус. но чтобы быть уверенным в том, что элемент был действительно изменен (а не просто сфокусирован и расфокусирован), его содержание следует сравнить с его последней версией. или используйте событие keydown, чтобы установить какой-нибудь «грязный» флаг на этом элементе.
Проверьте эту идею. http://pastie.org/1096892
Думаю, это близко. HTML 5 действительно нужно добавить событие изменения в спецификацию. Единственная проблема заключается в том, что функция обратного вызова оценивает if (before == $ (this) .html ()) до фактического обновления содержимого в $ (this) .html (). setTimeout не работает, и это печально. Дайте мне знать, что вы думаете.