Ik ben bezig om een tooltip te laten verschijnen bij een <SELECT MULTIPLE> object. Hiervoor gebruik ik de volgende code:
nou heb ik alleen de volgende problemen bij IE (firefox werkt perfect):
PHP:
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
52
53
54
55
56
| <HEAD> <STYLE> #tooltip { position: absolute; visibility: hidden; border: 1px solid black; background-color: lightyellow; } </STYLE> <SCRIPT> var descriptions = { '1': 'This is number 1.', '2': 'This is number 2.', '3': 'This is number 3.' } function showTooltip (nextTo, tip){ tip=(!tip.target?event.srcElement.value:tip.target.value); var tt = document.getElementById('tooltip'); tt.innerHTML = descriptions[tip]; tt.style.left = (getPageLeft(nextTo) + nextTo.offsetWidth) + 'px'; tt.style.top = getPageTop(nextTo) + 'px'; tt.style.visibility = 'visible'; } function hideTooltip () { document.getElementById('tooltip').style.visibility = 'hidden'; } function getPageLeft (el) { var left = 0; do left += el.offsetLeft; while ((el = el.offsetParent)); return left; } function getPageTop (el) { var top = 0; do top += el.offsetTop; while ((el = el.offsetParent)); return top; } </SCRIPT> </HEAD> <BODY> <DIV ID="tooltip"></DIV> <SELECT MULTIPLE ID="aSelect" ONMOUSEOVER="showTooltip(this,event)" ONMOUSEOUT="hideTooltip();" > <OPTION VALUE="1">1 <OPTION VALUE="2">2 <OPTION VALUE="3">3 </SELECT> </BODY> |
nou heb ik alleen de volgende problemen bij IE (firefox werkt perfect):
- Bij een gewoon onmouseover event blijft de variabele tip leeg (undefined geeft de tooltip)
- Wanneer ik de <OPTION> selecteer, en dan onmouseover doe geeft hij wel de waarde
- wellicht weet iemand hoe ik de variabele wel gevuld krijg bij een onmouseover event
- een onclick event zou de truuk ook doen, alleen word de variabele tip (onder IE) pas gevult als ik de tweede keer op die regel klik (de eerste keer geeft hij nogsteeds undefined)