-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscript.js
More file actions
41 lines (33 loc) · 1.13 KB
/
Copy pathscript.js
File metadata and controls
41 lines (33 loc) · 1.13 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
const bc = new BroadcastChannel('test_channel');
const container = document.querySelector('#container');
const ul = document.createElement('ul');
const childrenItemInput = document.createElement('input');
childrenItemInput.type = 'text';
childrenItemInput.id = 'childrenItemInput';
childrenItemInput.autofocus = true;
const button = document.createElement('button');
button.innerText = 'Add';
container.appendChild(ul);
container.appendChild(childrenItemInput);
container.appendChild(button);
button.addEventListener('click', () => {
let itemText = childrenItemInput.value;
bc.postMessage({type: 'addChildrenItem', itemText});
});
childrenItemInput.addEventListener('keypress', (e) => {
if (e.key !== 'Enter') return;
let itemText = childrenItemInput.value;
bc.postMessage({type: 'addChildrenItem', itemText});
});
let bc2 = new BroadcastChannel('test_channel');
bc2.onmessage = function (ev) {
console.log(ev);
if (ev.data.type === 'addChildrenItem') {
addChildrenItem(ev);
}
};
const addChildrenItem = (e) => {
const listItem = document.createElement('li');
listItem.innerText = e.data.itemText;
ul.appendChild(listItem);
};