Fandt enlig løsningen.
Det er korrekt at der skal bruges setTimeout, men man skal huske at fjerne den igen ved hjælp af clearTimeout for næste setTimeout sættes.
måden at få fat i this er ved hjælp af event.taget
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "
http://www.w3.org/TR/html4/strict.dtd"><html>
<head>
<title>TEST</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="da">
<script type="text/javascript">
function getNodeType (ele) {
switch(ele.nodeType) {
case 1:
return 'element ('+ele.tagName+')';
break;
case 2:
return 'attribute';
break;
case 3:
return 'text node';
break;
case undefined:
return 'undefined (window)'
break;
}
}
function run (evt,ele) {
var node = ele + "\n";
node += " EventType: " + evt.type + "\n";
node += " EventTaget: " + evt.target + "\n";
node += " NodeType: "+ getNodeType(ele) + "\n";
node += "\n";
document.getElementById('test').appendChild(document.createTextNode(node));
}
</script>
</head>
<body>
<input type="text" onkeydown="clearTimeout(this.vaild); this.vaild = setTimeout(function () { run(event,this) },500);" onblur="clearTimeout(this.vaild); run(event,this);">
<button onclick="while(document.getElementById('test').firstChild) {document.getElementById('test').removeChild(document.getElementById('test').firstChild)}">clear</button>
<pre style="margin:5px;padding:2px;border:2px solid #72AFFF;width:350px;" id="test"></pre>
</body>
</html>
Jeg ligger denne som svar hvis du vil have del i pointene splazz må du lige skrive.