Avatar billede hooh Nybegynder
17. april 2008 - 11:28 Der er 14 kommentarer og
2 løsninger

autoclick på et link

Hej

Jeg er ved at opbygge en side som kan håndtere shortkeys.
Jeg er så stødt ind i et problem med links som indeholder "return confirm('tekst')"

Så det fik mig til at tænke om det er muligt at trigge en Click på linket.

findes der ikke en >>links[0].Click<< som kan udføre clicket??


jeg har lavet et lille eksempel

<html>
<head>
<script language="javascript">
function ini(){
var links = document.getElementsByTagName("a")
n_links = links.length;
//alert(links[0].getAttribute("onClick"))

links[0].Click <-- kan man ikke sådan noget

}
</script>
   
</head>
<body onload='ini()'>
<a href="tt" onclick="df">dgf</a>
</body>
</html>

Kan det løses på andre måder??
Avatar billede roenving Novice
17. april 2008 - 11:32 #1
Hvordan håndtere shortkeys ?-)

-- det lyder som om, du skal prøve noget andet !-)
Avatar billede hooh Nybegynder
17. april 2008 - 11:35 #2
fx hvis man trykker på ALT+i så skal de 'automatisk' klikke på linket for brugeren.
Avatar billede hooh Nybegynder
17. april 2008 - 11:37 #3
Jeg kan sagtens på alle dem som ikke indeholder "return comfirm('')".

De kan bare trigges med location.href=links[0].getAttribute("href"))
Avatar billede w13 Novice
17. april 2008 - 11:38 #4
Nu kan jeg ikke huske, om det virkelig hedder: links[0].Click
Men i hvert fald virker det ikke i mere end et par browsere! Det er bestemt ikke nogen optimal løsning.
Så hellere lave en funktion til det, der kører en onclick, hvis der er nogen, og ellers indsætter href'en i window.location.href.
Avatar billede sherlock Nybegynder
17. april 2008 - 12:07 #5
Her er lidt variation over dit eksempel.

<html>
<head>
<script language="javascript">
function ini()
{
var links = document.getElementsByTagName("a")
  n_links = links.length;
  links[0].getAttribute("onClick")();
}

function df()
{
  alert ("Clicked");
}
</script>

</head>
<body onload="ini()">
<a href="tt" onclick="df()">dgf</a>
</body>
</html>
Avatar billede w13 Novice
17. april 2008 - 12:12 #6
Enig! Men for at kunne bruge den sammen med "return confirm()" skal det nok lige rettes til:
--------------------------------
<html>
<head>
<script type="text/javascript" language="javascript">
function ini(){
var links = document.getElementsByTagName("a");
  n_links = links.length;
  if(links[0].getAttribute("onClick")()){
    window.location.href=links[0].getAttribute("href");
  } 
}
</script>

</head>
<body onload="ini()">
<a href="http://www.google.dk" onclick="return confirm('Sikker?')">dgf</a>
</body>
</html>
-----------------------------------
Det er dog utestet.
Avatar billede w13 Novice
17. april 2008 - 12:18 #7
(Nu er det testet og virker! ;)
Avatar billede hooh Nybegynder
17. april 2008 - 12:25 #8
SUPER!!!

Det virker... :-)

w13: Smid et svar :-)
Avatar billede w13 Novice
17. april 2008 - 12:30 #9
Det var jo i virkeligheden Sherlock, der lavede grundkoden, så han må sku' ha' point.
Men jeg deler da gerne med ham. =)
Avatar billede hooh Nybegynder
17. april 2008 - 12:31 #10
Hvis Sherlock også vil smide et svar så deler jeg dem bare over.
Avatar billede hooh Nybegynder
17. april 2008 - 12:31 #11
og tak for hjælpen :-)
Avatar billede sherlock Nybegynder
17. april 2008 - 12:34 #12
Lad os dele :)
Avatar billede w13 Novice
17. april 2008 - 12:48 #13
Tak for point! :)
Avatar billede hooh Nybegynder
17. april 2008 - 12:49 #14
Det er mig der takker
Avatar billede olebole Juniormester
17. april 2008 - 22:27 #15
<ole>

links[0].getAttribute("onClick")(); - må under ingen omstændigheder kunne virke, da getAttribute jo returnerer en tekststreng. Skulle man mod forventning kunne finde en browser, hvor det virker det, skyldes det en bug i den pågældende browser  =)

/mvh
</bole>
Avatar billede olebole Juniormester
17. april 2008 - 22:31 #16
- man kunne måske rette koden til:
    if(typeof links[0].getAttribute("onClick")=="string" && links[0].getAttribute("onClick").length>0){

- hvis det altså er betingelse nok. Det kommer anpå, om andre links evt. har andre onclick handlers
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