Avatar billede - Nybegynder
10. november 2003 - 14:07 Der er 7 kommentarer

mouseover og mouseout på text i td

Jeg har en tabel hvor der er lavet onmouseover() og onmouseout() på <td>'erne.

<td onmouseout("...") onmouseover("...")>tekst1</td>
<td onmouseout("...") onmouseover("...")>tekst2</td>

Mit problem er at når man fører musen over teksten, bliver det lavet mouseout på <td>'en og mouseover på teksten i <td>'en. 
Det vil sige at der kommer en mouseover når musen kommer over <td>'en, så en mouseout når man kører over teksten og så en mouseover på teksten. Det er samme funktion som bliver kald begge gange.
Hvis jeg indsætter en input tekstbox skelnes der ikke mellen box og tekst. Desværre kan jeg ikke bruge den her.

Hvordan får jeg lavet det så der ikke skelnes mellem tekst og <td> ??
Avatar billede ztyxx Nybegynder
10. november 2003 - 14:13 #1
er ikke sikker på hvad du mener, men dette virker på hele cellen, uanset om du holder over teksten eller ej:

<html>
<head>

<title>musover/musud</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="author" content="">
<meta name="keywords" content="">
<meta name="description" content="">
<link rel="stylesheet" href="css.css" type="text/css">

</head>

<body>
<table border=1>
<tr>
    <td width=100 style="background-color:#FFFF00" onmouseover="style.background='#336699'" onmouseout="style.background='#FFFF00'">hej med mig</td>
    <td>celle 2</td>
</tr>
</table>
</body>
</html>
Avatar billede - Nybegynder
10. november 2003 - 14:56 #2
Hmm jeg har siddet og test lidt med dit eksempel og der opstår mit problem ikke.
Mit problem er at der bliver udført en onmouseover på teksten og ikke kun på hele td'en som i dit eksempel.
Kan det være fordi det bliver vist i en IFrame at det bliver tolket anderledes.??
Avatar billede ztyxx Nybegynder
10. november 2003 - 15:02 #3
nej det har ikke noget med din iframe at gøre, men hvis det kune er på tksten, så er det jo kun når musen rører teksten, og ikke resten af cellen
Avatar billede ztyxx Nybegynder
10. november 2003 - 15:06 #4
men prøv lige atsmide hele din kode for tabellen hvor det skal fungere
Avatar billede - Nybegynder
10. november 2003 - 15:16 #5
Det sker både på cellen og på teksten i cellen. Den må kun udføres den kaldte funktion en gang pr celle onmouseover().

<span onClick='dateClicked="11-30-2003";writeClickedDate()'; return true;>
<td
onmouseout='removeBackgroundColor("11302003");  this.style.background="#D3D3D3"'
onmouseover=DaySelectedByKey=29;
testMousePressed();
this.style.cursor='hand';
this.style.background='#EFEBEB'
valign='top' height='15' width='15'>
<Font face='Arial' size='1'>30</Font>
</td>
</span>
Avatar billede - Nybegynder
10. november 2003 - 15:49 #6
Fandt fejlen.
<font> </font> gjorde at der blevt foretagen mouseover/out på teksten.

Prøv evt nedenstående eksempel som tæller en counter op hver gang der foretages en mouseover/out. Tryk en tast for at se counter værdi. Kør ind på cellen bevæg cursoren ind og ud af teksten og se counteren stige i værdi hver gang.


<html>
<head>

<script language=javascript>
var counter=0;

function count()
{
counter++;;
}

function document.onkeydown()
{
alert(counter);
}

</script>
</head>
<body>
<table border=1>
<tr>
    <td width=100 style="background-color:#FFFF00" onmouseover="count();" onmouseout="count();"><font size=1>hej med mig</font></td>
    <td>celle 2</td>
</tr>
</table>
</body>
</html>
Avatar billede ztyxx Nybegynder
11. november 2003 - 21:48 #7
spørgsmålet skal vel lukkes her, du kan selv lægge et svar og tildele dig selv point, hvis du ikke mener at kunne bruge mit forslag til noget :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester