Событие ввода не работает, если значение изменяется с помощью 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 или вызов функции везде вручную, но это не то, что я ищу.

Зачем: Основная причина, по которой я хотел бы сделать это автоматически, заключается в том, что у меня много полей ввода и много разных мест, где я изменяю эти входы программно. Это сэкономило бы мне много времени, если бы был способ провести мероприятиеавтоматически когда любой вход изменяется в любом месте моего кода.

Ответы на вопрос(5)

Ваш ответ на вопрос