Pure Javascript listen to input value change

后端 未结 6 992
不思量自难忘°
不思量自难忘° 2020-11-29 23:58

Is there any way I can create a constant function that listens to an input, so when that input value changes, something is triggered immediately?

I am looking for so

6条回答
  •  北荒
    北荒 (楼主)
    2020-11-30 00:36

    Default usage

    el.addEventListener('input', function () {
        fn();
    });
    

    But, if you want to fire event when you change inputs value manualy via JS you should use custom event(any name, like 'myEvent' \ 'ev' etc.) IF you need to listen forms 'change' or 'input' event and you change inputs value via JS - you can name your custom event 'change' \ 'input' and it will work too.

    var event = new Event('input');
    el.addEventListener('input', function () { 
      fn();
    });
    form.addEventListener('input', function () { 
      anotherFn();
    });
    
    
    el.value = 'something';
    el.dispatchEvent(input);
    

    https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events

提交回复
热议问题