Значение входного элемента изменилось: сделать что-то - PullRequest
2 голосов
/ 01 ноября 2010

Как гласит заголовок моего вопроса. всякий раз, когда значение элемента ввода изменяется, я хочу, чтобы он выполнял функцию. Я знаю, что функция работает, потому что я был протестирован в событиях onkey, таких как onkeyup. Но я не использую onkey события, потому что у меня есть сценарии, которые манипулируют значением элемента ввода. Я также знаю, что проблема заключается в первом аргументе метода addEventListener. Я пробовал различные аргументы, такие как DOMAttrModified / change / DOMsomethingelse, но это не работает. Я также рассмотрел некоторые похожие вопросы здесь, в SO, JS Events: зацепление события изменения значения при вводе текста . Приведенный ниже код работает для обычных событий:

inputTitle.addEventListener('DOMAttrModified',function(event){
        someFunction(this.value);
},false);

Может кто-нибудь, пожалуйста, помогите мне. Я пытался решить эту проблему в течение долгого времени, но безуспешно, и я знаю, что это тоже маленькая проблема. Пожалуйста, дайте мне пример кода, который проверен и работает.

UPDATE: Я был неправ по поводу одной вещи выше. Если я использую событие «change», функция будет выполнена после того, как она потеряет фокус на элементе input. Так что это работает. Но я хочу, чтобы он работал как событие onkeyup, где функция выполняется в реальном времени, как Google Instant. К сожалению, я не могу использовать событие 'keyup', потому что у меня есть som-сценарии или кнопка, которая изменяет значение элемента ввода. Когда эти сценарии выполняются, функция не выполняется.

UPDATE2: Я разобрался с этой проблемой. И это добавление дополнительных сценариев в сценарии valemodifyings, которые выполняют функцию someFunction. Мне не очень нравится это решение, потому что это не очень хорошее кодирование. У меня может быть четыре сценария для вызова этой функции

1 Ответ

6 голосов
/ 01 ноября 2010

Попробуйте это:

inputTitle.addEventListener("change", function(){});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...