Habe folgendes gebastelt:
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
46
47
48
49
50
51
<html>
<title>Test</title>
<head>
<script src="/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery().ready(function() {
$("a").click(function() {
mode = $(this).html();
here = this;
$(this).ajaxStart(function() {
$(this).html('Bitte warten...');
alert("Hier wirds merkwuerdig!!!!!!!!!!!!!");
});
$.ajax({
type: "GET",
url: "/cgi-bin/ajax.pl",
data: 'ijd',
dataType: 'html',
global: 'false',
success: function(html) {
if (mode == 'hallo') {
$(here).html('bye');
}
if (mode == 'bye') {
$(here).html('hallo');
}
}
});
return false;
});
});
</script>
</head>
<body>
<h1>Schalter-Test</h1>
<ul>
<li><a href="#">hallo</a></li>
<li><a href="#">hallo</a></li>
</ul>
</body>
</html>
Jetzt probiert doch mal folgendes aus:
klickt auf das erste "hallo". Danach steht dort: "bye".
Klickt dann auf das zweite "hallo".
Warum wird aus dem ersten "hallo" dann plötzlich "Bitte warten..." ???
Ist das ein Bug?
Ich will die beiden Schalter unabhängig voneinander jeweils zwischen "hallo" und "bye" umschalten können.
Mysteriös: Je öfter man klickt, desto häufiger wiederholt sich das alert() !
Das ganze ist schon echt merkürdig.