Событие ввода не работает, если значение изменяется с помощью jQuery val () или JavaScript
Если я изменю значение поля ввода программно,input
а такжеchange
события не стреляют. Например, у меня есть этот сценарий:
var $input = $('#myinput');
$input.on('input', function() {
// Do this when value changes
alert($input.val());
});
$('#change').click(function() {
// Change the value
$input.val($input.val() + 'x');
});
<input id="myinput" type="text" />
<button id="change">Change value</button>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
Эта проблема: Событие запускается, когда я набираю текстовое поле, но не когда я нажимаю кнопку. Есть ли способ достичь этого с помощью какого-либо события или иным образом без необходимости делать это вручную?
Что я не хочу делать: Я мог бы пройти весь мой код, чтобы добавитьtrigger
или вызов функции везде вручную, но это не то, что я ищу.
Зачем: Основная причина, по которой я хотел бы сделать это автоматически, заключается в том, что у меня много полей ввода и много разных мест, где я изменяю эти входы программно. Это сэкономило бы мне много времени, если бы был способ провести мероприятиеавтоматически когда любой вход изменяется в любом месте моего кода.