Avatar billede mik789 Nybegynder
11. august 2004 - 17:35 Der er 10 kommentarer og
1 løsning

se mouseover værdi via onload

På en side med links vil jeg godt have vist indholdet af title attributten ved mouseover på hver enkelt linik. Jeg har prøvet med flg:

<script type="text/javascript">
function tellTitles(){
var links = document.getElementsByTagName('a');
  for (i=0;i<links.length;i++){
    if (links[i].attributes['title']){
      links[i].onmouseover = alert(links[i].getAttribute('title'));
    }
  }
}
</script>

<body onload="tellTitles()">

men det giver mig alle alert'erne ved onload af siden i stedet for en ad gangen ved mouseover på linkene. Hvad skal der til?
Avatar billede roenving Novice
11. august 2004 - 17:39 #1
Men du får jo automatisk indholdet af title-attributten som et tooltip, når du holder musen over et element ?-)
Avatar billede mik789 Nybegynder
11. august 2004 - 17:41 #2
ja, det ved jeg, men det er led i et forsøg med at bruge title i nogle stylede tooltips. noget à la http://www.kryogenix.org/code/browser/nicetitle/ bare simplere
Avatar billede roenving Novice
11. august 2004 - 17:48 #3
Som han gør det, er han jo omhyggeligt nødt til at disable den native browser-funktion ved at omdøbe title-attributten til nicetitle ...

-- jeg kan ik' li'e se, at du kan gøre det meg't lettere !-)
Avatar billede mik789 Nybegynder
11. august 2004 - 17:49 #4
men det ku også være en hvilken som helst anden attribut end title. det er mere det med at få dem vist ved mouseover på elementerne i stedet for ved onload af siden. det er vist noget generelt med den måde man forudgriber en event i en funktion - som her: if (links[i].attributes['title']){links[i].onmouseover = alert(links[i].getAttribute('title'));} - den er gal med her
Avatar billede roenving Novice
11. august 2004 - 17:55 #5
links[i].onmouseover = function(){alert(links[i].getAttribute('title'));}
Avatar billede mik789 Nybegynder
11. august 2004 - 18:15 #6
det er den nu ikke så glad for: links[i] has no property (med ref. til netop den linje med links[i].onmouseover
Avatar billede mik789 Nybegynder
11. august 2004 - 18:17 #7
er variablerne fra den omgivende funktion utilgængelige for function(){alert(...)} ?
Avatar billede roenving Novice
11. august 2004 - 18:21 #8
Ja, for det udføres jo på et andet tidspunkt ...

Så det må nok nærmere være sådan:

links[i].onmouseover = function(){alert(this.getAttribute('title'));}
Avatar billede mik789 Nybegynder
11. august 2004 - 18:29 #9
ooh, hvor smart, jeg troede ikke man kunne foregribe med "this" uden for tag'et, men det kan man jo altså - og selvfølgelig: fordi vi jo netop foregriber - tja, det går som altid, du må hellere lægge et svar...
Avatar billede roenving Novice
11. august 2004 - 18:31 #10
*g*

Velbekomme '-)
Avatar billede roenving Novice
11. august 2004 - 18:38 #11
-- og tak for point ;~}
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