about summary refs log tree commit diff stats
path: root/test/js/event.html
blob: 4b70c6247e79ba891f56e2dec3e82370c356d425 (plain) (blame)
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
<!DOCTYPE html>
<div id=y>
<div id=x>Fail</div>
</div>
<script src=asserts.js></script>
<script>
window.onload = function() {
	const x = document.getElementById("x")
	const y = document.getElementById("y")
	let n = 0;
	let ok1 = true, ok2 = true, ok3 = true, ok4 = true, ok5 = true;
	x.addEventListener("test", e => {
		n++;
		e.stopPropagation();
		ok1 = e.eventPhase == 2;
	}, true);
	x.addEventListener("test", e => { n++; ok1 = ok1 && e.eventPhase == 2 });
	x.dispatchEvent(new Event("test", {bubbles: true}));
	assert(ok1);
	assertEquals(n, 1);
	function el2() {
		ok2 = false;
	}
	x.addEventListener("test2", () => x.removeEventListener("test", el2)); 
	x.addEventListener("test2", el2);
	assert(ok2);
	document.documentElement.addEventListener("click", e => e.stopPropagation(), true);
	y.addEventListener("click", e => ok3 = false, true);
	y.addEventListener("click", e => ok4 = false);
	x.addEventListener("click", e => ok5 = false);
	x.click();
	assert(ok3);
	assert(ok4);
	assert(ok5);
	x.textContent = "Success";
}
</script>