Событие «нажатие клавиши» в appcelerator android не работает там, где работает нормально в симуляторе телефона i - PullRequest
0 голосов
/ 29 ноября 2018

Я ссылался на официальный сайт appcelerator и реализовал текстовое поле, в котором я установил для свойства «focusable» значение true и добавил событие нажатия клавиши, но оно не работает. Пожалуйста, подробно расскажите о решении?

index.xml:

<Text Field   id="txt_field" focusable = true/>

index.js:

$.txt_field.addEventListener('keypressed',function({

*********my code***********
});

1 Ответ

0 голосов
/ 29 ноября 2018

Во-первых, в вашем xml, похоже, есть пробел, не уверен, что это опечатка.Должно быть так:

<TextField  id="txt_field" focusable="true" />

Далее, событие keypressed работает только с аппаратными ключами.Если вы просто хотите узнать, что введен новый символ, вам следует использовать событие change.

Рекомендуется также добавлять прослушиватели событий в xml и не добавлять их в javascript * 1008.*

<TextField  id="txt_field" focusable="true" onChange="changeTextField" />

Затем вам нужно будет создать функцию changeTextField в вашем контроллере:

function changeTextField(e) {
    // the textfield will be in e.source
    // the new value of the textfield will be in e.value
}

, основываясь на этом, вы можете проверить e.value и посмотреть, что изменилось по сравнению с последнимменяется.

...