Ik wil bij een object wisselen van event.
En ik gebruik de addEvent code van Dean Edwards (http://dean.edwards.name/my/events.js)
Dat wil zeggen:
De eerste keer dat ik op de link klik moet er 'action 1' worden geschreven. (actie 1 uitgevoerd)
De tweede keer dat ik op dezelfde link klik moet er 'action 2' worden geschreven. (actie 2 uitgevoerd)
Het leek mij dus te kunnen met het onderstaande script:
Zowel in FireFox 1.x als Internet Explorer 6x werkt het niet:
zowel actie 1 als actie 2 worden direct uitgevoerd.
Weet iemand wellicht hoe ik dit op kan lossen?
Ik heb dan nog geprobeerd om setInterval te gebruiken: maar dan wordt het event al helemaal niet meer gekoppeld aan het object.
En ik gebruik de addEvent code van Dean Edwards (http://dean.edwards.name/my/events.js)
Dat wil zeggen:
De eerste keer dat ik op de link klik moet er 'action 1' worden geschreven. (actie 1 uitgevoerd)
De tweede keer dat ik op dezelfde link klik moet er 'action 2' worden geschreven. (actie 2 uitgevoerd)
Het leek mij dus te kunnen met het onderstaande script:
code:
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
38
39
40
41
42
43
44
45
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<script type="text/javascript" src="js/events.js"></script>
<script type="text/javascript">
var tObject = '';
var text = '';
actionOne = function(){
text = document.createTextNode('action 1');
tObject.appendChild(text);
removeEvent(this,'mouseup',actionOne);
addEvent(this,'mouseup',actionTwo);
return;
}
actionTwo = function(){
text = document.createTextNode('action 2');
tObject.appendChild(text);
removeEvent(this,'mouseup',actionTwo);
addEvent(this,'mouseup',actionOne);
return;
}
initPage = function(){
if(document.getElementById('textObject')){
tObject = document.getElementById('textObject');
}
if(document.getElementById('linkObject1')){
addEvent(document.getElementById('linkObject1'),'mouseup',actionOne);
}
return;
}
addEvent(window,'load',initPage);
</script>
<title>test</title>
</head>
<body>
<span id="textObject"></span><br />
<span id="linkObject1">klik hier</span>
<p>Eerste keer klikken, zou als resultaat moeten geven: "action 1!"<br />Tweede keer klikken, zou als resultaat moeten geven: "action 2!"</p>
</body>
</html> |
Zowel in FireFox 1.x als Internet Explorer 6x werkt het niet:
zowel actie 1 als actie 2 worden direct uitgevoerd.
Weet iemand wellicht hoe ik dit op kan lossen?
Ik heb dan nog geprobeerd om setInterval te gebruiken: maar dan wordt het event al helemaal niet meer gekoppeld aan het object.