console
const shop = {
value: 1000,
dom: [
document.getElementById('box'),
document.getElementById('box1'),
document.getElementById('box2'),
document.getElementById('box3'),
document.getElementById('box4'),
document.getElementById('box5')
],
list: {},
listen: function (key, fn) {
if (!this.list[key]) {
this.list[key] = [];
}
this.list[key].push(fn);
},
target: function (key, ...args) {
const fns = this.list[key];
if (!fns || fns.length === 0) {
return false;
}
for (let i = 0, fn; fn = fns[i++];) {
fn.apply(this, args);
}
}
}
shop.listen('change', function (val) {
for(let i = 0; i < this.dom.length ; i++ ){
this.dom[i].innerHTML = this.value = val;
}
})
shop.listen('click', function (val) {
this.dom[1].innerHTML = this.value = val;
})
function a() {
console.log('aaa')
shop.target('click', 1000)
}
function change(){
shop.target('change', input.value)
}
<input id='input' type="text" oninput="change()">
<button onclick="a()">click</button>
<div id="box"></div>
<div id="box1"></div>
<div id="box2"></div>
<div id="box3"></div>
<div id="box4"></div>
<div id="box5"></div>