Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE html>
<html>
<head>
<title id='desc'> MutationEvent.relatedNode for DOMNodeInserted and DOMNodeRemoved </title>
<script type="text/javascript">
var PassTest = function()
{
document.getElementById("testresult").firstChild.data = "PASS";
}
var FailTest = function()
{
document.getElementById("testresult").firstChild.data = "FAIL";
}
var EVENT1 = "DOMNodeInserted";
var EVENT2 = "DOMNodeRemoved";
var TARGET;
var PARENT;
var NODE;
var ActualResult = [];
var ExpectResult = [];
window.onload = function()
{
try
{
TARGET = document.getElementById("target");
PARENT = document.getElementById("parent");
TARGET.addEventListener(EVENT1, TestEvent, true);
TARGET.addEventListener(EVENT2, TestEvent, true);
ExpectResult = [TARGET, PARENT];
NODE = document.createElement("INPUT");
TARGET.appendChild(NODE);
PARENT.removeChild(TARGET);
}
catch(ex)
{
FailTest();
}
}
function TestEvent(evt)
{
ActualResult.push(evt.relatedNode);
if (ExpectResult.toString() == ActualResult.toString())
{
PassTest();
}
if (2 < ActualResult.length)
{
FailTest();
}
}
</script>
</head>
<body>
<h3>DOM Events</h3>
<h4>
Test Description: MutationEvent.relatedNode is the parent node of the node being removed for DOMNodeRemoved event;
and, it is the parent node of the node that has been inserted for DOMNodeInserted event
</h4>
<span id="parent">
<div id="target" style="border:solid 1px green; width:200px; height:50px">
</div>
</span>
<p>Test passes if the word "PASS" appears below.</p>
<div>Test result: </div>
<div id='testresult'>FAIL</div>
</body>
</html>