js. программная активация события input

274
26 сентября 2017, 06:53

Есть input, на него подвешено событие input, все нормально работает когда пользователь вводит текст с клавиатуры, но вот при программном изменении поля, например input.value = 'тратата'; событие не работает, как это можно исправить?

Пример:

Если в одном из полей изменить что-либо, то происходит нужное событие, при нажатии + или - происходит программное изменение поля, но событие input не происходит.

P.S. Функция обработчик неизвестна где находится и как называется, скрипт не мой.

ЗЫ Код следующий: У инпута есть селектор класса, я думаю будет что-то вроде такого:

$('.class').on("input", function(){
     alert('ура'); 
}); 

При программном изменении alert('ура'); не происходит.

Answer 1

Для того, чтобы программно вызвать какое-либо событие на элементе jQuery существует метод .trigger():

$('.class').on('input', function () {
    alert($(this).val());
});
$('.class').val('123').trigger('input');
READ ALSO
SQL - разница между COUNT(1) и COUNT(*)?

SQL - разница между COUNT(1) и COUNT(*)?

Какая разница между COUNT(1) и COUNT(*)?

293
Где взять библиотеку javax.sound.sampled?

Где взять библиотеку javax.sound.sampled?

Требуется генерировать звуковые волныВ примерах предлагается использовать библиотеку javax

242
Окно выбора в Android

Окно выбора в Android

Как называется окно в Android, при нажатии на которое, открывается окно выбора чего-либо? На подобии пикера

223