36 lines
1.6 KiB
HTML
36 lines
1.6 KiB
HTML
<html>
|
|
<head>
|
|
<script src="../../resources/js-test-pre.js"></script>
|
|
</head>
|
|
<body>
|
|
<p id="description"></p>
|
|
<input id="input1" type="text"></input>
|
|
<input id="input2" type="text"></input>
|
|
<input id="input3" type="text"></input>
|
|
<script>
|
|
jsTestIsAsync = true;
|
|
|
|
description("Checks that the relatedTarget attribute for FocusEvent objects is being set correctly when focusin/focusout events are dispatched. <b>Press tab four times</b> to dispatch a focusin and focusout event for each of the inputs below.");
|
|
|
|
var input1 = document.getElementById('input1');
|
|
var input2 = document.getElementById('input2');
|
|
var input3 = document.getElementById('input3');
|
|
|
|
input1.addEventListener("focusin", function(event) { shouldBeNull('event.relatedTarget'); });
|
|
input1.addEventListener("focusout", function(event) { shouldBe('event.relatedTarget', 'input2'); });
|
|
input1.addEventListener("focus", function(event) { shouldBeNull('event.relatedTarget'); });
|
|
input1.addEventListener("blur", function(event) { shouldBe('event.relatedTarget', 'input2'); });
|
|
input2.addEventListener("focusin", function(event) { shouldBe('event.relatedTarget', 'input1'); });
|
|
input2.addEventListener("focusout", function(event) { shouldBe('event.relatedTarget', 'input3'); });
|
|
input2.addEventListener("focus", function(event) { shouldBe('event.relatedTarget', 'input1'); });
|
|
input2.addEventListener("blur", function(event) { shouldBe('event.relatedTarget', 'input3'); finishJSTest(); });
|
|
|
|
input1.focus();
|
|
for (var i = 0; i < 2; i++) {
|
|
eventSender.keyDown('\t');
|
|
}
|
|
</script>
|
|
<script src="../../resources/js-test-post.js"></script>
|
|
</body>
|
|
</html>
|