Changing an element's value can trigger a DOM event. Listeners that respond to events can be used to implement data binding in JavaScript.
For example:
function bindValues(id1, id2) {
const e1 = document.getElementById(id1);
const e2 = document.getElementById(id2);
e1.addEventListener('input', function(event) {
e2.value = event.target.value;
});
e2.addEventListener('input', function(event) {
e1.value = event.target.value;
});
}
Here is code and a demo that shows how DOM elements can be bound with each other or with a JavaScript object.