Registreer FAQ Berichten van vandaag


Ga terug   Scholieren.com forum / Technologie / Software & Hardware
Reageren
 
Topictools Zoek in deze topic
Oud 22-06-2007, 08:37
Lord Dolphin
Lord Dolphin is offline
Het volgende script heb ik ergens van internet geplukt en ontleed van alle niet-relevante code. Het doel van het script is om waar te nemen welke toetsen de website gebruiker aanslaat.

Code:
<script type="text/javascript"><!--
document.defaultAction = true;

function init() {
	var x = document.getElementById('testForm').getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
		x[i].onclick = setEvents;
	}
}

function setEvents() {
	var eventHandler = detectEvent;
	document['on'+this.id] = eventHandler;
}

function detectEvent(e) {
	var evt = e || window.event;
	alert (evt.keyCode);
	return;
}
// --></script>

<form id="testForm">
<input type="checkbox" id="keyup"> <label for="keyup">keyup</label><br>
<input type="checkbox" id="useless"> <label for="useless">no effect</label><br>
</form>

<script type="text/javascript"><!--
		init();
// --></script>
Het probleem is dat het input-veld "keyup" aangevinkt moet worden om het script te laten werken.

Mijn vraag is: Is het noodzakelijk om een <form> te hebben met een input-veld genaamd "keyup"?

Alvast heeeel erg bedankt als je hier antwoord op kunt geven!
Met citaat reageren
Advertentie
Oud 22-06-2007, 08:47
Lord Dolphin
Lord Dolphin is offline
Ben een stap verder. De "keyup" is verwijderd, maar er moet nog steeds een veld/checkbox in de <form> aangeklikt worden voordat het script werkt. Het maakt ook niet uit of de checkbox aangevinkt is of niet...

Code:
<script type="text/javascript"><!--
document.defaultAction = true;

function init() {
	var x = document.getElementById('testForm').getElementsByTagName('input');
	for (var i=0;i<x.length;i++) {
		x[i].onclick = setEvents;
	}
}

function setEvents() {
	var eventHandler = detectEvent;
	document['onkeyup'] = eventHandler;
}

function detectEvent(e) {
	var evt = e || window.event;
	alert (evt.keyCode);
	return;
}
// --></script>

<form id="testForm">
<input type="checkbox" id="naam" checked><br>
</form>

<script type="text/javascript"><!--
		init();
// --></script>
Mijn vraag is nu: Is het noodzakelijk om een veld aan te klikken in een <form> om toetsaanslag te kunnen detecteren?

ps. De code is trouwens volledig, als je hem zo in een .html bestand zet dan werkt het al.
Met citaat reageren
Oud 22-06-2007, 14:07
Verwijderd
Gebruik dan een event-handler van het document object:

Code:
<script>
function keyUp(e) {
var evt = e ? e : window.event;
alert(evt.keyCode);
}

document.onkeyup = keyUp;
</script>
Met citaat reageren
Oud 22-06-2007, 22:10
Lord Dolphin
Lord Dolphin is offline
Wauw! Bedankt!!
Met citaat reageren
Advertentie
Reageren


Regels voor berichten
Je mag geen nieuwe topics starten
Je mag niet reageren op berichten
Je mag geen bijlagen versturen
Je mag niet je berichten bewerken

BB code is Aan
Smileys zijn Aan
[IMG]-code is Aan
HTML-code is Uit

Spring naar


Alle tijden zijn GMT +1. Het is nu 06:32.